【问题标题】:Laravel Migrations with more than one database具有多个数据库的 Laravel 迁移
【发布时间】:2016-06-14 10:59:04
【问题描述】:

使用多个数据库管理 Laravel 迁移的最佳实践是什么?

【问题讨论】:

    标签: laravel migration


    【解决方案1】:

    在你的app/config/database.php

    这样做

    return array(
    
        'default' => 'mysql',
    
        'connections' => array(
    
            # Our primary database connection
            'mysecond_database' => array(
                'driver'    => 'mysql',
                'host'      => 'host1',
                'database'  => 'database1',
                'username'  => 'user1',
                'password'  => 'pass1'
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),
    
            # Our secondary database connection
            'myfirst_database' => array(
                'driver'    => 'mysql',
                'host'      => 'host2',
                'database'  => 'database2',
                'username'  => 'user2',
                'password'  => 'pass2'
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),
        ),
    );
    

    然后在你的迁移中你可以这样做

    Schema::connection('mysecond_database')->create('users', function($table)
    {
        $table->increments('id'):
    });
    

    这将在mysql2 连接(数据库)中创建users

    要使用另一个连接,只需像这样更改它

    Schema::connection('myfirst_database')->create('posts', function($table)
        {
            $table->increments('id'):
        });
    

    如果你想从一个表中检索数据

    $users = DB::connection('mysecond_database')->select(...);
    

    如果你想使用 eloquent,你只需要像这样在模型中定义连接:

    class users extends Eloquent {
    
        protected $connection = 'mysecond_database';
    
    }
    

    那么你可以像这样轻松地做到这一点

      $users = User::all(); 
    

    Source

    【讨论】:

      猜你喜欢
      • 2017-07-19
      • 2017-06-11
      • 2018-04-04
      • 2016-12-09
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多