gpt4 book ai didi

javascript - Sequelize : Changing model schema on production

转载 作者:行者123 更新时间:2023-11-29 11:09:39 25 4
gpt4 key购买 nike

我们正在使用 orm sequelize.js并定义了一个模型:

module.exports = function(sequelize, DataTypes) {
var Source = sequelize.define('Source', {
name: {
type: DataTypes.STRING,
allowNull: false,
unique: true
}
}, {
paranoid: true
});

return Source;
};

这被部署到生产环境并使用 sequelize.sync 同步到数据库。下一步,我们添加一个参数:

module.exports = function(sequelize, DataTypes) {
var Source = sequelize.define('Source', {
name: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
location: {
type: DataTypes.STRING
}
}, {
paranoid: true
});

return Source;
};

但是,当部署到生产环境时,sequelize.sync 不会添加这个新参数。这是因为 sync 做了一个:

如果不存在则创建表

如果表存在,则不会实际更新架构。这是 noted in their documentation .

唯一的选择似乎是{ force: true } ,但这对于生产数据库来说是不行的。

有谁知道在需要更改时如何正确更新架构?

最佳答案

您想实现 Sequelize 迁移:

http://docs.sequelizejs.com/manual/tutorial/migrations.html

这些将使您能够在已知状态之间转换开发人员、暂存和生产数据库。

关于javascript - Sequelize : Changing model schema on production,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17708620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com