当我在生产中运行我的数据库种子脚本时,会发生内存耗尽。
下面是我的种子脚本。
class MembershipTableSeeder extends Seeder
{
public function run()
{
DB::table('members')->delete();
foreach (range(1, 99) as $days){
Members::create(array('membership_code' => 'test'.$days));
}
DB::unprepared(file_get_contents(app_path()."/database/seeds/members.sql"));
}
}
所以我所做的是在我的种子脚本上添加一个无限制的。
ini_set('memory_limit', '-1');
现在的问题是,当我运行脚本时,它会将 SQL 脚本的内容(非常非常大)记录到终端中。
有没有一种在我的数据库种子中运行 SQL 转储而不消耗太多内存的好方法?我现在做的是手动运行它:
mysql -uuser -p db < script.sql