Reputation: 8981
I am trying to install a user module in my Yii-based application. To do this, I have to migrate the files from:
webapp/protected/modules/user/migrations
I trying to run yiic migrate --migrationPath=user.migrations
, but I'm getting an error:
the migration directory does not exist: user.migrations
I read that I have to set up user.migrations as an alias but I don't know how to do it.
I also read, that migration's default folder is determined bybasePath
value, set in main configuration file (protected/config/main.php
). I have changed it and it still doesn't work correctly.
What can be wrong?
Upvotes: 7
Views: 7238
Reputation: 4349
In case anyone else is struggling with this, I had to go into the protected folder and force it to use the right yiic with:
php yiic.php migrate --migrationPath=application.modules.user.migrations
Upvotes: 1
Reputation: 31
In case anyone cant seem to make it work, here are some details:
Use: ./yiic migrate --migrationPath=application.dirName.migrations
How come? Check the class MigrateCommand. The public property $migrationPath='application.migrations' where 'application' will become '/home/yourUser/yourYiiApp/protected/ and 'migrations' will become, well 'migrations' after gets parsed. So if you are running ./yiic just point to dirname/migrationFolder
Upvotes: 3
Reputation: 31170
from your Command Line open the yiic of your protected folder. Not the yiic of the framework folder.
Upvotes: 4
Reputation: 5207
Try this:
yiic migrate --migrationPath=application.modules.user.migrations
Upvotes: 12