我有2个数据库,所以我在2个不同的迁移文件夹下工作。我选择路径,效果很好。
php artisan migrate --path="database/migrations/game"
我在config / database.php中的现有mysql连接旁边添加了一个新连接:
'mysql' => [ ....default connection ]
'mysql_game_base' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),....bla bla
然后我在迁移文件夹中按如下所示添加了此连接:
Schema::connection("mysql_game_base")->create('players', function (Blueprint $table) {
$table->increments('id');
$table->string("name");
$table->timestamps();
});
但是迁移过程会继续将所有表创建为默认连接。
我也尝试添加数据库参数,但仍然没有机会:
php artisan migrate --path="database/migrations/game" --database="mysql_game_base"
答案 0 :(得分:1)
我找到了解决方案。在创建第二个连接变量时,我还应该在.env文件中定义一个新变量。
DB_DATABASE=my_db
DB_DATABASE_GAME=my_db_game
我不应该在数据库配置中使用它:
'database' => env('DB_DATABASE_GAME', 'my_db_game'),
混淆来自在两个不同的地方进行定义。