使用特定种子而不是播种所有内容的明显方法是使用--class
标记:
php artisan db:seed --class[=CLASS]
有没有办法跟踪到目前为止在Laravel中应用了哪些播种机(例如,通过运行php artisan migrate:status
跟踪迁移应用的方式相同)?
此外,有没有办法应用播种机的范围(而不是单独指定每个类,这非常麻烦)。
让我想到这一点的是这部分在书中的播种机"构建你赢得的API":
28 foreach ($tables as $table) {
29 DB::table($table)->truncate();
30 }
31
32 $this->call('MerchantTableSeeder');
33 $this->call('PlaceTableSeeder');
34 $this->call('UserTableSeeder');”
这个想法是,每次你想要运行主播种机时,你必须从干净的石板开始。但在我们的临时环境中,这对我们来说是不切实际的,至少我们的质量保证/运营人员会输入种子数据和手动数据。
答案 0 :(得分:1)
我认为创建此程序包是为了运行迁移等浏览器:https://github.com/slampenny/SmartSeeder。我认为它会做你想要的。
关于这一点的文字很少的原因是,大多数时间播种机仅用于手动数据初始化数据库,而不是更复杂的部署过程的一部分。
答案 1 :(得分:0)
这似乎是种子如何运作的过度复杂化,或者是您的QA环境的复杂性不足。
也许有不同的发展种子和你称之为staging / qa?