📜  如何运行特定的 knex 种子文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:16.607000             🧑  作者: Mango

如何运行特定的 knex 种子文件 - Shell/Bash

在开发应用程序的过程中,我们经常需要 pre-populate 数据库。为此,我们可以使用 knex 库来生成样板数据。knex 提供了一种称为“种子(seed)”的机制,它允许我们轻松地向数据库中添加数据。

本文将介绍如何运行 knex 种子文件。

步骤
第一步:创建种子文件

在项目的根目录下,执行以下命令来生成一个种子文件:

knex seed:make seed_name

其中,seed_name 表示种子文件的名称。

此时,knex 将在以下目录中生成一个名为 seed_name.js 的新文件:

./seeds/seed_name.js
第二步:编辑种子文件

打开 seed_name.js 文件,并使用 JavaScript 代码编写预期的种子数据。下面是一个示例:

exports.seed = function(knex) {
  // Deletes ALL existing entries
  return knex('users').del()
    .then(function () {
      // Inserts seed entries
      return knex('users').insert([
        {username: 'johndoe', email: 'johndoe@gmail.com'},
        {username: 'janedoe', email: 'janedoe@gmail.com'},
        {username: 'alice', email: 'alice@gmail.com'}
      ]);
    });
};

注意,此代码删除了 users 表的所有现有条目,并将三个新条目插入该表中。

第三步:运行种子文件

现在,我们可以使用以下命令来运行种子文件:

knex seed:run --specific=seed_name.js

其中,seed_name.js 应该替换为您要运行的种子文件的名称。

knex seed:run 命令将查找 ./seeds 目录中的所有种子文件,并将它们传递给 knex 实例以插入预定义数据。

第四步(可选):运行所有种子文件

如果您希望运行所有种子文件,则可以使用以下命令:

knex seed:run

此命令将运行 ./seeds 目录中的所有种子文件。

结论

通过按照本文中所述的步骤创建和运行 knex 种子文件,我们可以轻松地填充数据库中的初始数据。