yiic migrate命令不会执行模块迁移

时间:2012-10-07 18:20:09

标签: php yii migration

我正在尝试在基于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 个答案:

答案 0 :(得分:12)

试试这个:

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

答案 1 :(得分:4)

从命令行

打开受保护文件夹的yiic。不是框架文件夹的唯一性。

答案 2 :(得分:3)

如果有人似乎无法使其发挥作用,请参阅以下内容:

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

为什么? 检查课程 MigrateCommand 。 公共财产 $ migrationPath =' application.migrations' 其中' application' 将成为' / home解析后,/ yourUser / yourYiiApp / protected / '迁移' 将成为'迁移' 。 因此,如果您正在运行 ./ yiic ,只需指向 dirname / migrationFolder

答案 3 :(得分:1)

如果其他人正在努力解决这个问题,我必须进入受保护的文件夹并强制它使用正确的yiic:

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