Laravel — сценарии миграции, используемые несколько раз на разных платформах

#php #laravel #laravel-4 #migration

#php #laravel #laravel-4 #миграция

Вопрос:

У меня только что возникла мысль о предоставлении свежих данных для демонстрационного приложения.

Чего я хочу добиться, так это того, чтобы схема и набор данных были подготовлены заранее и были готовы к переносу при запуске демонстрационного приложения. Проще говоря, каждый раз, когда пользователь запускает приложение, база данных будет загружаться свежими данными.

Возможно ли это? Я знаю, что в Laravel 4, когда я создаю сценарий миграции через CLI, кажется, что к имени файла прикреплены временные метки, мне было интересно, предотвратит ли это выполнение миграции в более поздние дни в будущем?

Спасибо всем.

Ответ №1:

Чего я хочу добиться, так это того, чтобы схема и набор данных были подготовлены заранее и были готовы к переносу при запуске демонстрационного приложения. Проще говоря, каждый раз, когда пользователь запускает приложение, база данных будет загружаться свежими данными.

Говоря о наличии набора подготовленных данных, я думаю, что заполнение базы данных близко к тому, что вы хотите.

В документах также упоминается, как вы могли бы использовать миграцию и заполнение вместе. Хотя вам нужно будет решить, как выполнить миграцию заполнение самостоятельно. Например. запускать командой artisan, запускать загрузку каждой страницы и т.д.

Откатите все миграции и запустите их все снова (ссылка):

php artisan migrate:обновить

миграция php artisan: обновление —начальное

Вы также можете использовать такие пакеты, как fzaninotto / Faker, чтобы помочь вам с созданием исходных данных, приближенных к реальным.


Я знаю, что в Laravel 4, когда я создаю сценарий миграции через CLI, кажется, что к имени файла прикреплены временные метки, мне было интересно, предотвратит ли это выполнение миграции в более поздние дни в будущем?

Временная метка в имени файла миграции используется только для указания порядка, в котором должна выполняться миграция. Таким образом, вы не выполняете миграции, когда пытаетесь добавить столбец перед добавлением его таблицы. До тех пор, пока вы это делаете php artisan migrate:refresh и правильно настроили up() и down() в своих файлах миграции, это не должно быть проблемой.

Хотя обратите внимание, что если вы работаете в команде, обязательно проверьте порядок миграции, поскольку два или более участника могут создавать файлы миграции параллельно друг другу.