架构连接无法链接到非默认数据库

时间:2019-06-21 08:51:15

标签: laravel laravel-5

我有两个sql server数据库。我尝试通过使用迁移将列添加到第二个数据库(sqlsrv2)。我尝试了Schema :: connection,但它始终链接到默认数据库(sqlsrv)。下面提供了我的代码。请指教。谢谢。

在.env文件中

DB_CONNECTION=sqlsrv
DB_HOST=hostname1
DB_PORT=1433
DB_DATABASE=database1
DB_USERNAME=user1
DB_PASSWORD=123

DB_CONNECTION_SECOND=sqlsrv
DB_HOST_SECOND=hostname2
DB_PORT_SECOND=1433
DB_DATABASE_SECOND=database2
DB_USERNAME_SECOND=user2
DB_PASSWORD_SECOND=123

在database.php中

'sqlsrv' => [
            'driver' => 'sqlsrv',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],

        'sqlsrv2' => [
            'driver' => env('DB_CONNECTION_SECOND'),
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST_SECOND'),
            'port' => env('DB_PORT_SECOND'),
            'database' => env('DB_DATABASE_SECOND'),
            'username' => env('DB_USERNAME_SECOND'),
            'password' => env('DB_PASSWORD_SECOND'),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],

正在迁移文件

public function up()
    {
        Schema::connection('sqlsrv2')->table('staff', function (Blueprint $table) {
            $table->string('system_id');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::connection('sqlsrv2')->table('staff', function (Blueprint $table) {
            $table->dropcolumn('system_id');
        });
    }

2 个答案:

答案 0 :(得分:0)

我知道这可能有点简单,您可能已经尝试过了,但是做了

php artisan optimize 要么 php artisan config:cache

可能在某处向您显示问题,或者只是刷新配置缓存。

这是一个非常简单的命令,我确定您已经尝试过,但是在99%的时间中,我遇到了诸如此类的奇怪问题,我只是运行这些类型的命令并解决了问题。

希望这会有所帮助!祝你好运!

答案 1 :(得分:0)

Dhananjay Kyada。感谢建议。

我曾经尝试过php artisan优化或php artisan config:cache。它不起作用。

仅对我有用: php artisan migration --database = sqlsrv2

相关问题