【发布时间】:2018-07-18 17:36:57
【问题描述】:
目前我正在做一个node.js项目,在构建架构时发现了一个问题,通常我使用http://docs.sequelizejs.com/manual/tutorial/migrations.html提供的命令行来定义我的架构,即$ node_modules/.bin/sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string,然后$ node_modules/.bin/sequelize db:migrate,我可以将这些属性写入数据库。但是,我想知道迁移后如何向模式添加新属性,我搜索并发现这个https://github.com/sequelize/cli/issues/133正在讨论这个问题,但是在我尝试了解决方案并再次运行$ node_modules/.bin/sequelize db:migrate之后,它并没有将新属性写入原始模式,我不明白问题出在哪里,下面是我的代码,我正在尝试在用户模式中添加两个属性“地址”和“高度”,你们能给我一些建议吗?谢谢!
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
let migration = [];
migrations.push(queryInterface.addColumn(
'address',
'height',
{
type: Sequelize.STRING,
}
));
return Promise.all(migrations);
return queryInterface.createTable('Users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
firstName: {
type: Sequelize.STRING,
},
lastName: {
type: Sequelize.STRING,
},
email: {
type: Sequelize.STRING,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Users');
}
};
【问题讨论】:
-
你好,这个问题已经解决了,你可以使用下面的链接stackoverflow.com/questions/46357533/…来解决这个问题,也可以查看sequelize的查询部分查看文档docs.sequelizejs.com/class/lib/…
标签: mysql node.js migration sequelize.js sequelize-cli