📅  最后修改于: 2023-12-03 15:20:06.158000             🧑  作者: Mango
在 Sequelize 中,迁移是一种描述模型更改的方法。在迁移中,可以定义模型的属性、约束、索引等。
本文将介绍如何使用 Sequelize 迁移添加默认值。
添加默认值的方法是在创建表时在属性中设置 defaultValue。
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable('users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
name: {
type: Sequelize.STRING,
allowNull: false,
defaultValue: 'John Doe' // 设置默认值
},
email: {
type: Sequelize.STRING,
allowNull: false
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable('users');
}
};
在上述代码中,name 属性设置了默认值为 'John Doe'。
如果需要修改默认值,只需要修改属性中的 defaultValue,并新建一个迁移文件。
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.changeColumn('users', 'name', {
type: Sequelize.STRING,
allowNull: false,
defaultValue: 'Jane Doe' // 修改默认值
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.changeColumn('users', 'name', {
type: Sequelize.STRING,
allowNull: false,
defaultValue: 'John Doe'
});
}
};
在上述代码中,使用 queryInterface.changeColumn() 方法修改了 name 属性的默认值为 'Jane Doe'。在回滚时,需要再次调用 changeColumn() 方法将默认值修改回 'John Doe'。
本文介绍了在 Sequelize 中添加和修改属性默认值的方法。需要注意的是,在修改默认值时需要新建一个迁移文件。
希望本文对您有所帮助,更多内容请参考 Sequelize 文档。