Миграции Laravel — сохранить их навсегда? Что такое лучшая практика?

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

У меня есть база данных test, которую я использовал для разработки своего приложения, и когда я был достаточно доволен, я создал базу данных production, скопировав структуру в phpMyAdmin. Я создал исходную базу данных на phpMyAdmin, так как не был знаком с миграциями Laravel.

Сейчас я лучше понимаю возможности Laravel Migrations и хотел бы использовать их в дальнейшем для обновления базы данных test и переноса этих изменений в рабочую. .

Каков порядок действий для меня? Могу ли я удалить все в каталоге app/database/migrations и начать с нуля? Будут ли возникать проблемы при вызове php artisan migrate в моем тестовом и рабочем окружении?

Заранее спасибо за ответы!


person Venky Rao    schedule 23.02.2015    source источник


Ответы (1)


Краткий ответ: нет проблем. Если вы просто добавляете/изменяете/удаляете таблицы/столбцы в методах up() и down().

Более длинный ответ: все еще нет проблем. До тех пор, пока вы не удалите таблицу, которая не была создана в методе up().

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

В этом случае я бы начал с одной большой миграции, где вы создаете все начальные таблицы, а в down() удаляете эти таблицы, поэтому новый разработчик может просто запустить миграцию и начать кодирование.

изменить: и после этой миграции для исходной структуры просто добавьте новые при разработке;)

person Rob Gordijn    schedule 23.02.2015