📅  最后修改于: 2023-12-03 14:47:24.519000             🧑  作者: Mango
Sequelize 是一个 Node.js ORM 框架,可用于在关系数据库中管理模型。它可以与 PostgreSQL,MariaDB,MySQL,SQLite 和 Microsoft SQL Server 一起工作。Sequelize 生成迁移可用于维护数据库模式的版本控制和迁移。
在您的项目中安装 Sequelize。可以使用以下命令:
npm install --save sequelize
在项目中安装您要使用的数据库的驱动程序。例如,在使用 MySQL 时,您可以运行以下命令:
npm install --save mysql2
(如果您使用的是 PostgreSQL,则需要安装 pg 驱动程序。)
在您的应用程序中设置 Sequelize。您需要提供数据库的连接信息。以下是一个示例:
const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql' // 或者其他数据库类型
});
使用 Sequelize 创建模型。例如,以下代码创建了一个用户模型:
const UserModel = sequelize.define('user', {
firstName: {
type: Sequelize.STRING,
allowNull: false
},
lastName: {
type: Sequelize.STRING,
allowNull: false
},
email: {
type: Sequelize.STRING,
allowNull: false,
unique: true
},
password: {
type: Sequelize.STRING,
allowNull: false
}
});
使用 Sequelize 生成迁移。以下命令将在您的项目的“migrations”文件夹中创建一个新的迁移:
npx sequelize-cli migration:generate --name create-users
更新迁移以匹配您的模型。在生成的迁移文件中,您可以使用以下代码执行 SQL 查询:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
firstName: {
type: Sequelize.STRING,
allowNull: false
},
lastName: {
type: Sequelize.STRING,
allowNull: false
},
email: {
type: Sequelize.STRING,
allowNull: false,
unique: true
},
password: {
type: Sequelize.STRING,
allowNull: false
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('users');
}
};
使用以下命令运行迁移:
npx sequelize-cli db:migrate
Sequelize 生成迁移是一个强大的工具,可用于管理数据库模式的版本控制和迁移。虽然它需要一些设置,但它可以帮助您避免手动执行 SQL 查询以进行数据库更改。现在,您已经知道了如何使用 Sequelize 生成迁移,可以在您的应用程序中使用它了。