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

Lul*_*zim 4 javascript seed seeding bookshelf.js knex.js

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

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

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

假设我昨天创建了种子文件,并且今天给它们添加了种子,我想添加另一个种子文件,我只想为该文件而不是昨天的文件添加种子。

Laravel的一个示例是:php artisan db:seed --class = ProductTableSeeder

谢谢

小智 13

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

根据 knex 文档

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

$ knex seed:run --specific=seed-filename.js
Run Code Online (Sandbox Code Playgroud)

  • 嘿。感谢您的更新,但它仍然不起作用。就像“--specic”甚至不存在一样,我所有的种子都在运行:(知道为什么吗? (2认同)

dev*_*ept 5

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

种API只有两个命令,制造和运行。这是从文档。

runknex.seed.run([config])

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

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