📅  最后修改于: 2023-12-03 15:20:06.183000             🧑  作者: Mango
Sequelize 是一款基于 Node.js 的 ORM 框架,用于与 SQL 数据库进行交互。它可以帮助我们更方便地管理数据库和数据表之间的关系。
在 Sequelize 中,我们可以使用迁移 (migration) 来管理数据库结构,它会基于我们定义的迁移脚本来自动创建、修改或删除数据表。同时,我们还可以设置默认值 (default value) 来规定当数据表新增数据时指定列没有设置值时的默认取值。
在 Sequelize 中,我们可以使用 defaultValue
属性来设置默认值。我们在定义数据表列时,可以在属于该列的对象中添加 defaultValue
属性来为其设置默认值。
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('users', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING,
allowNull: false
},
age: {
type: Sequelize.INTEGER,
defaultValue: 18 // 设置默认值为 18
},
email: {
type: Sequelize.STRING,
allowNull: false
},
createdAt: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.fn('now') // 设置默认值为当前时间
},
updatedAt: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.fn('now') // 设置默认值为当前时间
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('users');
}
};
在上面的示例中,我们在 users
表中添加了一个 age
列,并将其默认值设为 18。同时,我们还在 createdAt
和 updatedAt
列中设置了默认值,这里我们使用了 Sequelize.fn
方法来调用 SQL 函数获取当前时间。
我们可以在 Sequelize 中使用 defaultValue
属性来查询默认值。只需要定义该列时设置 defaultValue
属性,并在查询时指定该列,Sequelize 就会自动返回默认值。
const user = await User.create({
name: '张三',
email: 'zhangsan@example.com'
});
console.log(user.age); // 输出 18,这是默认值
在 Sequelize 中,我们可以使用 defaultValue
属性为数据表列设置默认值,同时也可以使用它来查询默认值。这样可以帮助我们更好地管理数据库结构,缩短开发周期。