详解 Sequelize 中 Seeder 实现数据填充

阅读时长 4 分钟读完

在前端开发中,应用程序通常需要初始化数据,以便在调试和测试环境中进行正常运行。手动编写 SQL 脚本是一种办法,但它不仅繁琐而且容易出错,使用 Sequelize 的 Seeder 模块可以使这个过程变得更加轻松。

什么是 Seeder?

在 Sequelize 中,Seeder 是一个用于插入预定义数据的模块。你可以使用它来向数据库中添加默认数据,以便为应用程序提供一个良好的起点。Seeder 可以让数据填充自动执行,精密控制随机因素并确保数据的一致性。

如何编写 Seeder?

Seeder 是在定义 sequelize 数据库表结构之后,向指定表中批量写入初始数据的工具。接下来我们将举例说明如何编写 Seeder。

首先,通过 npm 安装 sequelize 和 sequelize-cli:

然后,我们初始化一个项目并创建一个 User 模型,并在模型中定义想要填充的字段,如下所示:

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

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

接下来,在 Sequelize 中创建一个 Seeder,向 User 表中插入几个示例数据,如下所示:

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

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

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

在 Seeder 中,我们使用 updown 方法分别定义填充和清空 User 表的逻辑。bulkInsert 方法用于向 User 表中插入示例数据,并指定了每个数据将被创建的时间。

最后,在运行迁移时 (sequelize db:migrate),我们可以使用以下命令来执行 Seeder:

例如,如果要运行名为 20220417151523-InitUser.js 的 Seeder,则应执行以下命令:

总结

在这篇文章中,我们详细地讲解了如何在 Sequelize 中使用 Seeder 模块来实现数据填充。通过使用 Sequelize Seeder,我们可以轻松地向数据库中插入初始数据,并为应用程序提供一个良好的起点。Seeder 使数据填充自动化、精密控制随机因素并确保数据的一致性,是前端开发中不可或缺的工具之一。

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

纠错
反馈