node-sequelize学习笔记七(迁移)

安装包

npm install --save-dev sequelize
npm install --save-dev sequelize-cli
npm install --save-dev mysql2
npm install --save-dev koa
npm install --save-dev koa2-cors

项目启动

npx sequelize-cli init

这将创建以下文件夹

  • config, 包含配置文件,它告诉CLI如何连接数据库
  • models,包含你的项目的所有模型
  • migrations, 包含所有迁移文件
  • seeders, 包含所有种子文件

 

在继续进行之前,我们需要告诉 CLI 如何连接到数据库. 为此,可以打开默认配置文件 config/config.json. 看起来像这样:

{
  "development": {
    "username": "root",
    "password": null,
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "test": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}

创建数据库

npx sequelize-cli db:create

创建第一个模型

npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string

这将发生以下事情

  • 在 models 文件夹中创建了一个 user 模型文件;
  • 在 migrations 文件夹中创建了一个名字像 XXXXXXXXXXXXXX-create-user.js 的迁移文件.

运行迁移

直到这一步,CLI没有将任何东西插入数据库. 我们刚刚为我们的第一个模型 User 创建了必需的模型和迁移文件. 现在要在数据库中实际创建该表,需要运行 db:migrate 命令.

 
npx sequelize-cli db:migrate

此命令将执行这些步骤

  • 将在数据库中确保一个名为 SequelizeMeta 的表. 此表用于记录在当前数据库上运行的迁移
  • 开始寻找尚未运行的任何迁移文件. 这可以通过检查 SequelizeMeta 表. 在这个例子中,它将运行我们在最后一步中创建的 XXXXXXXXXXXXXX-create-user.js 迁移,.
  • 创建一个名为 Users 的表,其中包含其迁移文件中指定的所有列.

撤销迁移

npx sequelize-cli db:migrate:undo        //撤销最近的迁移
npx sequelize-cli db:migrate:undo:all    //撤销所有迁移
npx sequelize-cli db:migrate:undo:all --to XXXXXXXXXXXXXX-create-posts.js    //撤销指定迁移

 

posted @ 2021-06-07 16:54  Angle_周先生  阅读(121)  评论(0)    收藏  举报