Должен ли я игнорировать файлы сидов в Laravel 5?

Я настроил свои файлы миграции и файлы сеялки с поддельными данными, и они работают хорошо. Я собираюсь зафиксировать свою работу, но не знаю, что делать с моими файлами сеялки. Я определенно не хочу запускать файлы сидов в рабочей среде, поэтому решил их игнорировать. Я бы не хотел случайно мигрировать и использовать поддельные данные в рабочей среде!

Тем не менее, я думаю, что сеялки можно использовать в продакшене с реальными данными. Скажем, я добавляю новый столбец, который должен выполнять некоторые вычисления для других столбцов таблицы (ради примера давайте проигнорируем, что любое поле, которое может быть вычислено из других полей, не должно существовать в базе данных) и сохранить значение. Или новую настройку/флаг. Я думаю, что мог бы создать сеялку, чтобы заполнить это поле уже существующими производственными данными. Так что теперь я не могу игнорировать каталог сеялки.

Должен ли я принимать решение об игнорировании каждого файла отдельно для каждого случая? Могу ли я где-нибудь объявить, что сидер должен работать только в среде dev? Каково здесь соглашение?


person Vic    schedule 10.06.2015    source источник


Ответы (1)


Нет. Исходные файлы должны быть частью вашего репозитория. Конечно, вы не должны запускать их в рабочей среде, но разработчик, проверяющий ваш код, должен иметь возможность выполнить миграцию и заполнить свою базу данных фиктивными данными. Они не могут этого сделать, если вы gitignore-d содержимое каталога.

person Martin Bean    schedule 10.06.2015
comment
Итак, чтобы убедиться, что исходные файлы никогда не используются для заполнения реальных данных, как в моем примере выше? Исходные файлы предназначены только для фиктивных данных? - person Vic; 11.06.2015
comment
Есть случаи, когда данные будут засеяны даже в рабочей среде. Я сделал много сайтов, где такие вещи, как Страна/Штат/Роли и т. д., были заданы при первоначальном запуске в производство. Очевидно, что после первоначального запуска они больше не запускаются. И да, они хранятся в репо. - person James Taylor; 11.06.2015
comment
Хорошо запустите определенные начальные файлы, т.е. php artisan db:seed --class=CountryTableSeeder - person Martin Bean; 11.06.2015
comment
Потрясающий. Не знал, что могу запустить определенный файл. Спасибо! - person Vic; 11.06.2015