如何防止Laravel中的某些迁移回滚?

时间:2019-01-02 19:31:00

标签: laravel-5 laravel-migrations

假设我将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-1NULL呢?

  1. 忽略这些迁移的回滚
  2. 忽略那些迁移再次迁移吗?

它仅用于开发,因为生产不需要回滚现有数据。

0 个答案:

没有答案