我使用此命令添加了模型和迁移文件
node_modules/.bin/sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string
现在我想在现有表(模型)中添加更多字段,例如性别和年龄。我手动更改模型并触发此命令
node_modules/.bin/sequelize db:migrate
但它回应说“没有执行任何迁移,数据库架构已经是最新的。
”
User.js
'use strict';
module.exports = (sequelize, DataTypes) => {
var User = sequelize.define('User', {
firstName: DataTypes.STRING,
lastName: DataTypes.STRING,
email: DataTypes.STRING
}, {});
User.associate = function(models) {
// associations can be defined here
};
return User;
};
先感谢您 :)
为了向表中添加新字段,我们应该使用迁移骨架,如下所示。
sequelize migration:create --name Users
打开迁移文件并添加以下代码
module.exports = {
up: function (queryInterface, Sequelize) {
return [ queryInterface.addColumn(
'Users',
'gender',
Sequelize.STRING
),
queryInterface.addColumn(
'Users',
'age',
Sequelize.STRING
)];
},
down: function (queryInterface, Sequelize) {
// logic for reverting the changes
}
};
然后运行迁移
node_modules/.bin/sequelize db:migrate
Note: 已通过查询接口对象可用于修改数据库。这续集对象存储可用的数据类型,例如 STRING 或 INTEGER。
查询接口中方法的完整列表 https://sequelize.org/api/v7/classes/queryinterface
我希望这能帮到您。如果您有任何问题请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)