Sequelize-cli工具的使用(三) —— 创建/销毁数据库、编写迁移脚本

461 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

6、 创建/销毁数据库

做好以上的一些准备工作以后,下面我们就开始来使用 Sequelize-cli 来帮助我们完成第一个工作: 创建数据库。

6-1、 sequelize db:create

这条命令可以帮助我们根据当前 env 值找到对应 datbase.json 中的配置,最后根据 database 项创建对应的数据库。

6-2、 sequelize db:drop

这条命令是删除对应数据库的。

7、 数据库表结构的操作

有了数据库,下面就需要在数据库中创建我们应用所需要用到的各种表以及表结构(字段)。这个时候就轮到前面提到的迁移脚本上场了!

7-1、 创建迁移脚本文件

首先,我们需要在前面定义的迁移脚本目录下创建一些迁移脚本,通常我们会为每一个表每次变更创建一个独立的迁移脚本。我们可以手动直接创建,也可以使用命令来创建。

7-1-1、 sequelize migration:create

./node_modules/.bin/sequelize migration:create --name UserInit

使用这个命令,它可以自动在 migrations 目录下创建一个 时间-迁移文件名.js 的脚本文件。

迁移文件的名称最好能比较直观的体现它的作用和目的。比如UserInit,表示这是一个初始化 User 表的操作。 后续如果对 User 表进行更改,比如增加了一个用户状态的字段,那么可以创建一个 UserAddStatus 的迁移脚本文件。

7-2、 编写迁移脚本

脚本其实就是一个Node.js 代码,提供给 sequelize-cli 进行读取执行,每一个脚本通过 module.exports 导出一个包含了 downup 方法的对象

  • up:执行迁移命令(db:migrate )的时候调用
  • down:执行撤销/回滚命令(db:migrate:undo )的时候调用

7-2-1、queryInterface

Sequelize 提供了一个 queryInterface 对象,该对象下又提供了许多操作数据库结构的各种方法(DDL),如:创建表、字段、索引等。

7-2-2、Sequelize

Sequelize 的核心类,提供了一些数据库相关的常量信息,比如数据类型,也可以进行实例化,用于对数据库中的数据进行操作(DQLDML )。