Laravel 4 migrate:在artisan CLI上使用--path回滚


Laravel 4 migrate:rollback with --path on artisan CLI

我在Laravel 4上遇到了一些障碍。

由于我无法使artisan:migrateapp/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.jsonautoload.classmap:

...
"autoload": {
    "classmap": [
        ...
        "app/database/migrations/app1",
    ]
},

对于这种情况,您应该手动使用"--path"选项重新运行migrate。