Laravel : 生产数据的迁移和播种
我的应用程序需要预先注册的数据集才能正常工作。因此,当我设置应用程序时,我需要将它们插入到数据库中。
Laravel提出了两种机制:
当我阅读此描述时,这些解决方案似乎都没有被改编。
在stackoverflow上也提出了类似的问题并得到了回答。答案建议使用数据库播种器通过检测当前环境来填充数据库:
<?php
class DatabaseSeeder extends Seeder {
public function run()
{
Eloquent::unguard();
if (App::environment() === 'production')
{
$this->call('ProductionSeeder');
}
else
{
$this->call('StagingSeeder');
}
}
}
当然,此解决方案有效。但我不确定这是正确的方法,因为通过使用播种器插入数据,您将失去迁移机制提供的所有优势(数据库升级,回滚...
我想知道在这种情况下的最佳实践是什么。