7

我正在尝试在基于 Yii 的应用程序中安装用户模块。为此,我必须从以下位置迁移文件:

webapp/protected/modules/user/migrations

我试图运行yiic migrate --migrationPath=user.migrations,但出现错误:

the migration directory does not exist: user.migrations

我读到我必须将 user.migrations 设置为别名,但我不知道该怎么做。

我还读到,迁移的默认文件夹由basePath值确定,在主配置文件 ( protected/config/main.php) 中设置。我已经改变了它,它仍然不能正常工作。

有什么问题?

4

4 回答 4

12

试试这个:

yiic migrate --migrationPath=application.modules.user.migrations

于 2012-10-10T05:32:05.073 回答
4

从您的命令行打开受保护文件夹的 yiic 。不是框架文件夹的 yiic 。

于 2013-11-12T21:44:19.007 回答
3

如果有人似乎无法让它工作,这里有一些细节:

使用:./yiic migrate --migrationPath=application.dirName.migrations

怎么会?检查类MigrateCommand。公共属性$migrationPath='application.migrations'其中'application'将变为'/home/yourUser/yourYiiApp/protected/并且'migrations'将在解析后变为'migrations'。因此,如果您正在运行./yiic只需指向dirname/migrationFolder

于 2013-12-10T20:32:04.333 回答
1

万一其他人为此苦苦挣扎,我必须进入受保护的文件夹并强制它使用正确的 yiic:

php yiic.php migrate --migrationPath=application.modules.user.migrations

于 2014-08-05T23:00:26.917 回答