Как предотвратить откат некоторых миграций в Laravel? - PullRequest
0 голосов
/ 02 января 2019

Допустим, я использую 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, который может:

  1. Игнорировать откат для этих миграций
  2. Игнорировать миграцию снова для этих миграций?

Он предназначен только для разработки, поскольку для производства не требуется откат к существующим данным.

...