npm 包 sequelize-cli 使用教程

阅读时长 6 分钟读完

前言

在 Node.js 企业级应用程序开发中,常常用到关系型数据库进行数据存储。Sequelize 是 Node.js 中很好用的 ORM 框架,可以适用于所有主要的 SQL 数据库。 Sequelize CLI (命令行界面)则是 sequelize 的一个扩展,为开发者提供了更多工具,可以更方便地进行数据库管理和操作。

本文着重介绍 npm 包 sequelize-cli 的使用教程,详细讲解在项目中使用 sequelize-cli 进行数据库管理的步骤和功能。

安装 sequelize-cli

全局安装 sequelize-cli:

配置

1. 创建一个基本配置文件

在项目根目录下执行以下指令:

此时,一个名为 config/config.json 的配置文件会生成,内容如下:

-- -------------------- ---- -------
-
  -------------- -
    ----------- -------
    ----------- -----
    ----------- -----------------------
    ------- ------------
    ---------- -------
  --
  ------- -
    ----------- -------
    ----------- -----
    ----------- ----------------
    ------- ------------
    ---------- -------
  --
  ------------- -
    ----------- -------
    ----------- -----
    ----------- ----------------------
    ------- ------------
    ---------- -------
  -
-

此处以 mysql 为例,对配置文件进行一些说明:

  • username:用户名(注意大小写)
  • password:密码(可以为空)
  • database:使用的数据库名称
  • host:数据库主机名或 IP 地址
  • dialect:使用的数据库类型

2. 创建必须的目录

执行以下指令:

在项目目录下生成 models/ 和 migrations/ 文件夹。

3. 配置数据库

执行以下指令:

在命令行中输入以上指令后,sequelize-cli 将会自动创建一个与配置文件中指定的数据库名称的同名数据库。

到此为止,配置环节的工作就完成了。

数据库表的创建和管理

1. 创建一个模型

执行以下指令:

此时,models/ 目录下会生成名为 user.js 的文件,文件内容如下:

-- -------------------- ---- -------
---- --------
----- -
  -----
- - ---------------------
-------------- - ----------- ---------- -- -
  ----- ---- ------- ----- -
    ------ ----------------- -
      -- ------ ----------- ----
    -
  --
  -----------
    ----- -----------------
    ------ -----------------
    --------- ----------------
  -- -
    ----------
    ---------- -------
  ---
  ------ -----
--

实际上,上面的指令等同于执行以下操作:

  1. 在 models/ 目录下创建名为 user.js 的文件
  2. 编写 user.js 文件中的 model
  3. 在 config/config.json 中配置 sequelize 数据库连接

在以上步骤完成后,下一步就可以执行以下命令,将用户模型同步到数据库中:

如果执行成功,则将在本地数据库中创建名为 users 的表(表的名称将根据模型名称的复数形式命名)。

2. 修改模型

修改 user.js 文件中的 model,例如添加一个 age 属性,修改后的文件内容如下:

-- -------------------- ---- -------
---- --------
----- -
  -----
- - ---------------------
-------------- - ----------- ---------- -- -
  ----- ---- ------- ----- -
    ------ ----------------- -
      -- ------ ----------- ----
    -
  --
  -----------
    ----- -----------------
    ------ -----------------
    --------- -----------------
    ---- -----------------  -- ---- --- --
  -- -
    ----------
    ---------- -------
  ---
  ------ -----
--

执行以下命令,将修改同步到数据库中:

3. 数据库表的同步、迁移与回滚

sequelize-cli 提供了丰富的数据库表同步和管理功能。下面将详细介绍常见的同步、迁移与回滚方式。

同步数据库

执行以下命令同步数据库:

迁移数据库

如果需要更新数据库中已有的表,可以执行以下指令:

此时,生成名为 create-modify_user_name.js 的文件。在该文件中,可以编辑需要执行的操作,例如更改列类型、添加列等。

修改完毕后,可以执行以下命令将迁移同步到数据库中:

此时,已有的表中将反映修改后的内容。

回滚数据库

如果需要回滚之前的操作,可以执行以下命令:

执行该命令时,sequelize-cli 将执行最近一次的 migration 撤销操作。

如果需要对某个指定迁移进行撤销操作,则可以执行以下命令:

其中,modify_user_name 是需要回滚的迁移的名称。

总结

通过上述学习,我们了解了如何使用 npm 包 sequelize-cli 进行数据库管理,具备了创建表、同步、迁移和回滚等基本操作的能力。

未来的开发工作中,祝你使用 sequelize-cli 更加得心应手,快乐愉悦地进行企业级应用程序开发!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/198562