📅  最后修改于: 2023-12-03 15:09:16.607000             🧑  作者: Mango
在开发应用程序的过程中,我们经常需要 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
种子文件,我们可以轻松地填充数据库中的初始数据。