Допустим, я использую Laravel 5.7 с Passport, и пока я занимаюсь разработкой, я создаю миграции для своих моделей, затем я создаю данные о клиентах и токенах в таблицах Passport. Теперь таблица миграции выглядит так:
+----+--------------------------------------------------------------+-------+
| id | migration | batch |
+----+--------------------------------------------------------------+-------+
| 34 | 2014_10_12_000000_create_users_table | 1 |
| 35 | 2014_10_12_100000_create_password_resets_table | 1 |
| 36 | 2016_06_01_000001_create_oauth_auth_codes_table | 1 |
| 37 | 2016_06_01_000002_create_oauth_access_tokens_table | 1 |
| 38 | 2016_06_01_000003_create_oauth_refresh_tokens_table | 1 |
| 39 | 2016_06_01_000004_create_oauth_clients_table | 1 |
| 40 | 2016_06_01_000005_create_oauth_personal_access_clients_table | 1 |
| 41 | 2018_12_30_232223_create_table_entreprises | 1 |
| 42 | 2018_12_30_232703_create_table_dossiers | 1 |
| 43 | 2018_12_30_232823_create_table_type_entreprises | 1 |
| 44 | 2018_12_30_232906_create_table_groups | 1 |
| 45 | 2018_12_30_232922_create_table_menus | 1 |
| 46 | 2019_01_01_160217_create_table_cips | 1 |
+----+--------------------------------------------------------------+-------+
Итак, первые 7 миграций предназначены для Laravel, включая Passport, который мне не нужно изменять. Но сейчас, если я хочу изменить entreprises
миграции, то мне нужно откатиться. Все миграции выполняются в пакетном режиме 1, поэтому все таблицы будут потеряны, включая клиентов паспортов и токены. Даже если я выполню миграцию 2 раза, скажем, entreprises
миграция имеет пакет 2, я могу безопасно выполнить откат, но я не могу использовать такую команду, как php artisan migrate:refresh --seed
, которая откатит 2 пакета.
Есть ли способ обновления пакета миграции на 0
или -1
или NULL
, который может:
- Игнорировать откат для этих миграций
- Игнорировать миграцию снова для этих миграций?
Он предназначен только для разработки, поскольку для производства не требуется откат к существующим данным.