Опять Миграция конкретного стола laravel - PullRequest
0 голосов
/ 06 ноября 2018

Я работаю над приложением Laravel. Небольшое изменение в таблице базы данных вызывает новую миграцию. Есть ли способ перенести только на таблицу в laravel.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

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

Предположим, у вас есть следующая структура,

Идентификатор ------------------------- миграции -------------------- ------- партии

1 ---------- 2014_10_12_000000_create_users_table ---------------- 1

2 ---------- 2014_10_12_100000_create_password_resets_table ------- 1

3 ---------- 2016_09_07_103432_create_tabel_roles ----------------- 1

Если вы хотите просто откатить 2016_09_07_103432_create_tabel_roles миграцию, измените значение пакета миграции на 2, которое является самым высоким среди всех, а затем просто выполните следующее.

php artisan migrate: откат

Здесь будет выполнен откат только таблицы со значением пакета 2. Теперь внесите изменения в эту таблицу и выполните следующую консольную команду.

php artisan migrate

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

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

Надеюсь, вы понимаете.

0 голосов
/ 06 ноября 2018

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

Документы: https://laravel.com/docs/5.7/migrations

php artisan migrate:refresh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...