WebQube
WebQube

Reputation: 8981

Migrations from modules are not executed by yiic migrate command

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

Answers (4)

Sam H.
Sam H.

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

JGarberi
JGarberi

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

Mahmoud Zalt
Mahmoud Zalt

Reputation: 31170

from your Command Line open the yiic of your protected folder. Not the yiic of the framework folder.

Upvotes: 4

Sergey
Sergey

Reputation: 5207

Try this:

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

Upvotes: 12

Related Questions