2017-04-10 8 views
0

移行を実行するために複数のデータベースを設定しようとしています。複数のデータベースでの移行laravel

'mysql' => [ 
     'driver' => 'mysql', 
     'host' => env('DB_HOST', '127.0.0.1'), 
     'port' => env('DB_PORT', '3306'), 
     'database' => env('DB_DATABASE', 'first_database'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', ''), 
     'unix_socket' => env('DB_SOCKET', ''), 
     'charset' => 'utf8mb4', 
     'collation' => 'utf8mb4_unicode_ci', 
     'prefix' => '', 
     'strict' => true, 
     'engine' => null, 
    ], 

    'mysql2' => [ 
     'driver' => 'mysql', 
     'host' => env('DB_SEC_HOST', '127.0.0.1'), 
     'port' => env('DB_SEC_PORT', '3306'), 
     'database' => env('DB_SEC_DATABASE', 'second_database'), 
     'username' => env('DB_SEC_USERNAME', 'root'), 
     'password' => env('DB_SEC_PASSWORD', ''), 
     'unix_socket' => env('DB_SOCKET', ''), 
     'charset' => 'utf8mb4', 
     'collation' => 'utf8mb4_unicode_ci', 
     'prefix' => '', 
     'strict' => true, 
     'engine' => null, 
    ], 

ファイルでは、「ENV」これはコードです:私はこのコードの移行を実行すると

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=first_database 
DB_USERNAME=root 
DB_PASSWORD= 

DB_SEC_CONNECTION=mysql2 
DB_SEC_HOST=127.0.0.1 
DB_SEC_PORT=3306 
DB_SEC_DATABASE=second_database 
DB_SEC_USERNAME=root 
DB_SEC_PASSWORD= 

:ファイル「のconfig/database.phpで」これはコードでは

[InvalidArgumentException] 
Database [second_database] not configured. 

Schema::connection('second_database')->create('test', function(Blueprint $table) { 
     $table->increments('id'); 
    }); 

端末は、このエラーメッセージを示し

私は間違っていますか?

ありがとうございます!

答えて

0

あなたの設定でデータベース名ではなく配列キーを使用してください。つまり、

Schema::connection('mysql2')->create('test', function(Blueprint $table) { 
    $table->increments('id'); 
}); 
関連する問題