将
--database参数与
migrate命令一起使用,并将每个数据库的迁移存储在单独的目录中。
您可以
app/database/migrations为每个数据库(在
db1和中
db2)分别拥有单独的目录,并将适当的迁移存储在每个目录中。然后,您可以像这样运行迁移:
artisan migrate --database="db1" --path="app/database/migrations/db1"artisan migrate --database="db2" --path="app/database/migrations/db2"
这样,您的
migrations表将对每个数据库都是独立的。
如果您要加倍努力并实现流程自动化,则可以创建自定义命令,该命令将一次运行所有迁移。您可以创建如下命令(
make:console用于Laravel
5.0到5.2或
make:commandLaravel 5.2+):
artisan command:make MigrateAllCommand --command=migrate:all
这将创建一个新文件
app/commands/MigrateAllCommand.php。您的命令的
fire方法如下所示:
public function fire(){ foreach (Config::get('database.connections') as $name => $details) { $this->info('Running migration for "' . $name . '"'); $this->call('migrate', array('--database' => $name, '--path' => 'app/database/migrations/' . $name)); }}如果数据库配置键的名称与迁移目录名称相同,则此方法将起作用。然后,您可以像这样调用它:
artisan migrate:all
您可以查看Laravel命令文档以获取更多信息。



