sequelize 数据库同步
时间: 2023-08-31 14:10:06 浏览: 47
在使用 Sequelize ORM 操作数据库时,可以通过 `sequelize.sync()` 方法来同步数据库。这个方法会自动创建数据库表,如果表已经存在则会更新表结构。但是需要注意的是,这个方法会删除所有已存在的数据表并重新创建,因此在生产环境中需要谨慎使用。
示例代码:
```
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'mysql',
host: 'localhost'
});
(async () => {
await sequelize.sync({ force: true }); // 将 force 设置为 true 会删除所有已存在的表并重新创建
console.log('All models were synchronized successfully.');
})();
```
在上面的示例中,`sequelize.sync()` 方法会同步所有模型定义成的表。如果你只需要同步某个特定的模型,则可以使用该模型的 `sync()` 方法。
示例代码:
```
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'mysql',
host: 'localhost'
});
const User = sequelize.define('User', {
name: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
}
});
(async () => {
await User.sync({ force: true });
console.log('The User model was synchronized successfully.');
})();
```
上面的代码中,只同步了 `User` 模型定义成的表。