Articles of 数据库迁移

续集迁移失败(postgres)

我正在尝试使用postgresql与我的节点应用程序使用sequelize。 但是我不能使它工作。 当我运行sequelize -m我得到这个输出: Loaded configuration file "config/config.json". Using environment "development". Running migrations… 20130916100313-create-table-usuarios.js Completed in 21ms events.js:74 throw TypeError('Uncaught, unspecified "error" event.'); ^ TypeError: Uncaught, unspecified "error" event. at TypeError (<anonymous>) at EventEmitter.emit (events.js:74:15) at null.<anonymous> (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migrator.js:95:44) at EventEmitter.emit (events.js:98:17) at module.exports.finish (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:138:30) at exec (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:92:16) at onError (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:72:11) at EventEmitter.emit (events.js:95:17) at /home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migration.js:65:19 […]

如何在运行序列化迁移时打印原始查询?

我需要打印在迁移正在运行时执行的原始查询。 任何想法如何做到这一点? 我使用–migrate选项来运行脚本。

交易restAPI

我正在一个项目,我需要实现事务回滚PostgreSQL数据库durin REST操作使用Nodejs。 我已经分别为GET,PUT和POST方法实现了事务。 我需要使用交易一次还是我正确的轨道? 在此先感谢您的帮助。 我想确保我的数据库回滚数据,如果需要的话。 我正在使用pg-promise库来获得结果。 db.tx(t => { return t.batch([ t.query('UPDATE users SET active = $1 WHERE id = $2', [true, 123]), t.query('INSERT INTO audit(event, id) VALUES($1, $2)', ['activate', 123]) ]); }) .then(data => { // success; }) .catch(error => { // error; }); 或者,我应该在下面实施方法吗? module.exports = { // if you can run […]

关联迁移

我的应用程序当前使用Sequelize sync()方法来创build数据库,我想将其更改为使用迁移系统。 我的一个模型与其他模型有belongsTo()关联,我不知道如何为这些关联创build初始迁移代码。 我是否必须使用SQL查询手动创build外键,还是有一些方法可用?

使用SeqelizeJS编写与外键迁移

的背景 我正在用SequelizeJS构build一个受欢迎的NodeJS ORM项目。 在devise一个模式时,似乎有两种风格: 创build模型代码并使用.sync()函数为模型自动生成表格。 创build模型代码并使用QueryInterface和umzug编写手动迁移 。 我的理解是,#1对于快速原型devise来说更好,但对于期望随着时间的推移,生产数据需要能够经历迁移的项目而言,#2是最佳实践。 这个问题涉及策略#2。 问题(S) 我的表具有必须通过外键反映的关系。 如何通过Sequelize QueryInterface创build具有外键关系的表格? sequelize需要哪些列和帮助表? 例如,看起来像createdAt或updatedAt这样的特定列是预期的。