Laravel: Run migrations on another database
If you place database config on the database.php
file, this can help you:
php artisan migrate --database=**otherDatabase**
In your app/config/database.php you have to:
<?php
return array(
'default' => 'mysql',
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
Now that you prepared two database connections in your migration you can do:
Schema::connection('mysql2')->create('some_table', function($table)
{
$table->increments('id');
});
This should work. More infos on: http://fideloper.com/laravel-multiple-database-connections
If you mean using different database connection, it exists in the docs:
Schema::connection('foo')->create('users', function (Blueprint $table) {
$table->bigIncrements('id');
});