【发布时间】:2014-08-22 02:12:56
【问题描述】:
我有一个命令会多次调用“迁移”命令,每个命令都有不同的配置。这是我的代码:
$pdo = new PDO("mysql:host=$host", $root, $root_password);
$databases = $pdo->query('SHOW DATABASES')->fetchAll();
foreach($databases as $db){
$dbName = $db['Database'];
Config::set('database.connections.my_database.database', $dbName);
$this->call('migrate', array('--env' => 'local', '--database' => 'my_database'));
}
由于我在我的应用程序中动态创建了数据库,因此我使用此命令为我的所有数据库运行迁移。因此,首先我获取所有数据库名称,然后对每个数据库名称调用“迁移”命令。但我有一个问题。
Artisan 只运行到第一个 $dbName 的迁移。即使我将 $dbName 正确打印到循环的每个步骤,其他步骤也会显示“Nothing to migrate”。如果我尝试在终端中为其他数据库运行命令,它会完美运行。好像是缓存,我不知道。
有人知道发生了什么吗?
【问题讨论】: