незавершенные миграции - застряли в создании новых миграций

У меня очень плохая ситуация, я работаю над проектом Laravel 5. ранее разработанный другим разработчиком. Этот разработчик вначале создал пару таблиц, используя migration generators, и добавил несколько columns, используя миграции. После этого он сразу добавил таблицу columns, используя какой-то sql GUI. Мне дали sql dump, который я импортировал и настроил на своем локальном компьютере, теперь, когда я создал table с помощью php artisan make:migration create_myTableName_table --create="myTableName", миграция таблицы создана успешно, но когда я сделал php artisan migrate, это дало мне SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'someTable' already exists, я проверил папку миграции и сопоставил ее с текущая версия someTable, и я вижу, что столбцы разные, как и в других таблицах.

Как лучше всего справиться с этим в этой ситуации, я хочу не отставать от Laravel migrations generator, чтобы в будущем, если какой-либо другой разработчик захотел работать над этим проектом, ему просто нужно было запустить команду миграции, чтобы перенести базу данных или создать таблицы или создать столбцы... Должен ли я переписать все миграции? пожалуйста помогите. Спасибо


person Khu-tech    schedule 08.02.2016    source источник


Ответы (2)


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

person Martin Bean    schedule 08.02.2016

Быстро и грязно?

Удалить текущие файлы миграции. Очистите таблицу migrations и экспортируйте всю БД. Поместите дамп SQL в репозиторий и попросите других разработчиков импортировать его перед запуском php artisan migrate. С импортированным дампом и усеченной таблицей migrations вы можете создавать новые миграции без дальнейших конфликтов с устаревшими миграциями.

Чувствуете амбициозность?

Используйте такой пакет, как migrations-generator, чтобы создавать миграции на основе ваших текущих Структура БД. Затем мигрируйте подальше.

person lesssugar    schedule 08.02.2016
comment
Если вы удалите текущие миграции и сократите таблицу миграций, амбициозный способ может быть таким же быстрым, как и быстрый и грязный. - person user1669496; 09.02.2016