Есть ли способ запустить laravel seed
, чтобы вставить записи, только если они еще не существуют?
Моя текущая сеялка laravel выглядит следующим образом
DB::table('users')->insert([
//Global Admin
[
'member_id' => 11111111,
'firstname' => 'Joe',
'lastname' => 'Bloggs'
],
[
'member_id' => 22222222,
'firstname' => 'Jim',
'lastname' => 'Bloggs'
],
]);
Довольно стандартный!
Должен ли я обернуть каждую вставку в попытку?как это
try {
DB::table('users')->insert(['member_id' => 11111111, 'firstname' => 'Joe', 'lastname' => 'Bloggs']);
} catch(Exception $e){
//Die silently
}
try {
DB::table('users')->insert(['member_id' => 22222222, 'firstname' => 'Jim', 'lastname' => 'Bloggs']);
} catch(Exception $e){
//Die silently
}
Позже я мог бы захотеть добавить дополнительные строки в тот же сеялки без необходимости писать новую, и повторно запустить php artisan db:seed
, чтобы добавить только мои новые строки.
Возможно ли это?