我在Laravel 4上遇到了一些障碍。
由于我无法使artisan:migrate
从app/database/migrations
的内部文件夹生成迁移(例如:app/database/migrations/app1)
我的自定义命令app:migrate
上有这个
/* default path */
$this->call('migrate');
/* custom path */
$this->call('migrate', array('--path' => 'app/database/migrations/app1'));
但我也想要一个app:refresh
命令,它将从自定义路径回滚所有迁移,然后从默认路径回滚。。然后像migrate:refresh --seed
做一样重新迁移和播种所有东西
我该如何扭转这种局面?调用:
$this->call('migrate:rollback', array('--path' => 'app/database/migrations/app1'));
会产生一个错误,说
[InvalidArgumentException]
The "--path" option does not exist.
有人能帮忙吗。
谢谢!
您所要做的就是确保您的迁移类可以自动加载。最简单的方法是将保存它们的文件夹的路径添加到composer.json
的autoload.classmap
:
...
"autoload": {
"classmap": [
...
"app/database/migrations/app1",
]
},
对于这种情况,您应该手动使用"--path"选项重新运行migrate。