我如何将单个文件指定为仅种子文件

问题描述 投票:4回答:3

我正在使用knex进行播种,并且有一个名为development的文件夹,其中存放了所有种子文件。

我想要的是:如何播种单个文件。

我正在使用的命令是:knex seed:run --env = development但是,此命令是播种所有文件,并且我在db上得到重复的行。

假设我昨天创建了种子文件,今天我要为其种子,我想添加另一个种子文件,我只想对该文件进行种子,而不是昨天的文件。

来自Laravel的示例是:php artisan db:seed --class = ProductTableSeeder

谢谢

javascript seed seeding bookshelf.js knex.js
3个回答
4
投票

只需将脚本移至所需脚本以外的其他文件夹,运行种子并将脚本复制回。

seed API只有两个命令,make和run。这是来自文档。

runknex.seed.run([config])

运行当前环境的所有种子文件。

因此所有脚本将在每次运行时执行


1
投票

我个人只是将我的承诺包装在if (boolean) {...}中的exports.up / down中,然后将我不想运行的承诺切换为false。


0
投票

对于那些在2019年检查此内容的人

根据knex文档

要运行特定的种子文件,请执行:

$ knex seed:run --specific=seed-filename.js
© www.soinside.com 2019 - 2024. All rights reserved.