Семена Laravel DB – тестовые данные v Примеры данных

Возможно, я неправильно понимаю, как это работает, но каков наилучший способ сделать это? У меня есть что-то в виду, но это кажется довольно взломанным.

У меня есть набор выборочных данных, которые я использую для тестирования своего приложения. Это посеяно через встроенную сеялку в Ларавеле. Это содержит такие элементы, как пример пользователей, адреса, документы и т. Д.

У меня также есть набор данных по умолчанию, которые должны быть выпущены. В настоящее время я добавляю это непосредственно в миграцию. Например, если бы я добавлял таблицу для account_roles, я мог бы включить следующее в конец миграции

$account_admin = array('role' => 'Account Administrator', 'flag' => 'ACCOUNT_ADMIN'); $account_owner = array('role' => 'Account Administrator', 'flag' => 'ACCOUNT_OWNER'); DB::table('account_roles')->insert($account_admin); DB::table('account_roles')->insert($account_owner); 

Таким образом, при производстве я просто переношу базу данных, чтобы вставлять любые готовые значения базы данных производства, а также в стадии постановки / разработки, я могу обновить миграцию, а затем занести базу данных с образцами данных.

Есть ли другой (лучший) способ сделать это?

Related of "Семена Laravel DB – тестовые данные v Примеры данных"

Вы можете запустить проверку текущей среды в вашем файле сеялки и посеять по мере необходимости

 <?php class DatabaseSeeder extends Seeder { public function run() { Eloquent::unguard(); if (App::environment() === 'production') { $this->call('ProductionSeeder'); } else { $this->call('StagingSeeder'); } } }