Laravel: Run migrations on another database

前端 未结 8 2027
有刺的猬
有刺的猬 2020-12-29 23:15

In my app every user has its own database that created when user registered. Connection and database data (database name, username, password) are saved in a table in default

相关标签:
8条回答
  • 2020-12-29 23:52

    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

    0 讨论(0)
  • 2020-12-29 23:55

    If you place database config on the database.php file, this can help you:

    php artisan migrate --database=**otherDatabase**
    
    0 讨论(0)
提交回复
热议问题