假设我将Laravel 5.7与Passport一起使用,并且在开发过程中,我为模型创建了迁移,然后在Passport表中创建了Clients和tokens数据。现在,迁移表如下所示:
+----+--------------------------------------------------------------+-------+
| 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批,因此所有表都将丢失,包括护照客户端和令牌。即使我进行了两次迁移,也可以说entreprises
迁移具有批次2,我可以安全地回滚,但是不能使用像php artisan migrate:refresh --seed
这样的命令来回滚这两个批次。
是否有一种方法可以将某些迁移批处理更新为0
或-1
或NULL
呢?
它仅用于开发,因为生产不需要回滚现有数据。