📜  sequelize 生成迁移 - Javascript (1)

📅  最后修改于: 2023-12-03 14:47:24.519000             🧑  作者: Mango

Sequelize 生成迁移 - Javascript

Sequelize 是一个 Node.js ORM 框架,可用于在关系数据库中管理模型。它可以与 PostgreSQL,MariaDB,MySQL,SQLite 和 Microsoft SQL Server 一起工作。Sequelize 生成迁移可用于维护数据库模式的版本控制和迁移。

如何使用 Sequelize 生成迁移
  1. 安装 Sequelize

在您的项目中安装 Sequelize。可以使用以下命令:

npm install --save sequelize
  1. 安装数据库驱动程序

在项目中安装您要使用的数据库的驱动程序。例如,在使用 MySQL 时,您可以运行以下命令:

npm install --save mysql2

(如果您使用的是 PostgreSQL,则需要安装 pg 驱动程序。)

  1. 配置 Sequelize

在您的应用程序中设置 Sequelize。您需要提供数据库的连接信息。以下是一个示例:

const Sequelize = require('sequelize');

const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql' // 或者其他数据库类型
});
  1. 创建模型

使用 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
  }
});
  1. 生成迁移

使用 Sequelize 生成迁移。以下命令将在您的项目的“migrations”文件夹中创建一个新的迁移:

npx sequelize-cli migration:generate --name create-users
  1. 更新迁移

更新迁移以匹配您的模型。在生成的迁移文件中,您可以使用以下代码执行 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');
  }
};
  1. 运行迁移

使用以下命令运行迁移:

npx sequelize-cli db:migrate
总结

Sequelize 生成迁移是一个强大的工具,可用于管理数据库模式的版本控制和迁移。虽然它需要一些设置,但它可以帮助您避免手动执行 SQL 查询以进行数据库更改。现在,您已经知道了如何使用 Sequelize 生成迁移,可以在您的应用程序中使用它了。