yii2重命名迁移文件以重新排序迁移错误

jun*_*ior 2 php migration yii yii2

我正在尝试重命名迁移文件以重新排序迁移,但我发现了一个错误.

我知道迁移文件的名称是基于时间戳生成的,例如:

m150311_012031_create_place_table.php
m150311_020901_create_meeting_table.php
Run Code Online (Sandbox Code Playgroud)

我忘记了meeting在创建表之前我应该首先创建place表,所以我要运行yii migrate/down all以首先回滚迁移,我重命名文件以重新排序,如下所示:

m150311_012030_create_meeting_table.php
m150311_012031_create_place_table.php
Run Code Online (Sandbox Code Playgroud)

并运行,yii migrate up/all但我收到此错误:

PHP Fatal error:  Class 'm150311_012030_create_meeting_table' not found in C:\wamp\www\yii2advanced\vendor\yiisoft\yii2\console\controllers\MigrateController.php on line 113
Run Code Online (Sandbox Code Playgroud)

我认为composer dumpautoload会解决这个问题,但没有任何反应.我知道我可以从重新开始删除并创建所有迁移,但是如果我已经创建了10个迁移文件,我忘了我应该在第二个订单上创建迁移.

这该怎么做?

aro*_*hev 5

除非您没有将提交推送到工作存储库,否则不建议这样做.

问题是,除了更改文件名之外,还需要更改类名,因为迁移的组织方式.

迁移类名称与没有.php扩展名的文件名完全相同.

1) m150311_012031_create_place_table.php

将文件名更改为,m150311_020901_create_meeting_table.php并将类名更改为class m150311_020901_create_meeting_table.

2) m150311_020901_create_meeting_table.php

将文件名更改为,m150311_012031_create_place_table.php并将类名更改为class m150311_012031_create_place_table.