Миграции Laravel не отражают текущую схему базы данных - PullRequest
1 голос
/ 11 июля 2019

Я работаю с приложением в Laravel / MySQL, у которого не все таблицы определены во время миграций, потому что в какой-то момент они прекратили использовать миграции и внесли изменения напрямую, коснувшись базы данных. Это приводит к тому, что, если я запускаю php artisan migrate, не беру текущую схему БД. У меня вопрос, есть ли способ повторно использовать миграции из текущей структуры БД? Если есть какая-либо процедура, которая обновляет меня миграции, в том числе те поля, которые были добавлены непосредственно в таблицу в базе данных.

1 Ответ

2 голосов
/ 11 июля 2019

Быстрый поиск приводит меня к пакету, cethron / migrations-generator (последнее обновление 19 сентября 2017 г.). Он генерирует миграции из существующих баз данных. Здесь - еще одна статья о некоторых инструментах.

Однако вы все равно можете совершать новые миграции. Эти миграции будут либо создавать новые таблицы, либо изменять столбцы.

Вы должны вручную отследить разницу и изменить столбцы .

Schema::table('users', function (Blueprint $table) {
    $table->string('name', 50)->change();
});
...