Yii2尝试重新应用旧迁移文件

Yii2尝试重新应用旧迁移文件,yii2,migration,Yii2,Migration,我相信这很简单,但我似乎无法理解 今天早些时候,我将Yii2安装更新为最新的开发版本。完成测试后,我决定将其回滚到稳定版本。 当composer无法回滚时,我删除了/VENDOR目录下的所有内容以及composer.lock并运行composer update 问题: 现在我不能使用php yii migrate,因为它说我必须对名为m130524\u 201442\u int的用户表应用第一次迁移。 但是,当我运行php yii migrate/history all时,它显示它是在以下时间之

我相信这很简单,但我似乎无法理解

今天早些时候,我将Yii2安装更新为最新的开发版本。完成测试后,我决定将其回滚到稳定版本。 当composer无法回滚时,我删除了
/VENDOR
目录下的所有内容以及
composer.lock
并运行
composer update

问题: 现在我不能使用
php yii migrate
,因为它说我必须对名为
m130524\u 201442\u int的用户表应用第一次迁移。
但是,当我运行
php yii migrate/history all
时,它显示它是在以下时间之前完成的:

Yii Migration Tool (based on Yii v2.0.10)

Total 17 migrations have been applied before:
    (2016-12-06 22:15:37) m161206_214310_rts_detail_type_enum2int
    (2016-12-06 22:15:36) m161206_210705_rts_types
    (2016-12-03 01:32:34) m161203_012757_emaillayout
    (2016-11-18 19:59:15) m161118_195401_rts_reimbursment
    (2016-11-18 17:48:24) m161118_172654_program
    (2016-11-18 04:51:38) m161118_043442_duedata_droptime
    (2016-11-17 20:05:40) m161117_200352_default_wo_tasks
    (2016-11-16 21:40:27) m161116_212528_defaultdates
    (2016-11-16 18:15:19) m161116_180722_defaulttasks
    (2016-11-14 22:40:05) m161114_221144_distribution
    (2016-11-14 20:26:09) m161114_202027_responsibility
    (2016-11-14 19:36:02) m161114_192729_distribution
    (2016-11-09 20:33:19) m161109_191955_locks2
    (2016-11-09 17:13:40) m161109_170126_rts_timing_impl
    (2016-11-09 17:13:39) m161011_171958_resp_list
    (2016-10-07 05:29:35) m161007_051543_locks
    (2016-08-04 15:57:58) m130524_201442_int
感谢您的帮助

更新: 我决定将代码推送到另一台测试服务器。从Git中提取新代码时,我尝试运行
php yii migrate
,退出时显示:
未找到新的迁移。您的系统是最新的。

在那之后,我运行了
composer更新
,因为
composer.json
composer.lock
与此更新一起被拉入。Composer完成了一系列组件的安装,但没有更改Yii2版本。我运行了
php yii migrate
,它退出时显示了相同的消息:
未找到新的迁移。您的系统是最新的。

这让我觉得我的开发服务器有问题

有什么想法吗?我可以重建dev服务器,但这个难题困扰着我


我非常感谢你们提供的任何信息。

Yi2的迁移工作方式并不令人满意,因为即使您对迁移文件进行了更改,迁移系统也不会检测到这一点。除去

未找到新的迁移。您的系统是最新的

消息并重新应用新的迁移文件,您需要转到数据库并搜索自动生成的表。它被称为
base\u migration
(或者只是
migration

您将看到它包含有关应用迁移的信息-版本(文件名)和应用时间。删除该表中的所有行


删除所有行后,迁移系统将不再检测以前应用的任何更改,并将获取在
迁移
文件夹中找到的所有文件。

您是否有机会修改了
迁移命名空间
和/或
迁移路径
迁移控制器
的属性?感谢您花时间回复。不,我没有对我的
MigrateController
进行任何修改,我没有弄乱
migrationNamespaces
和/或
migrationPath
。这非常有趣,但需要对实际代码进行调试。您需要检查
BaseMigrateController
getNewMigrations()
方法在这个错误环境中发生了什么。好的,一个问题。如果尝试使用
yimigrate
命令,则不会找到新的迁移。您的系统是最新的?如果是,我将用我知道的一个解决方案回答。开发服务器:
yii migrate
-尝试应用
m130524\u 201442\u int
Tst服务器:
yii migrate
-返回
未找到新的迁移。您的系统是最新的
。两台服务器都已应用所有迁移。