2017-11-26 5 views
1

私はルーメン5.5をインストールして.env設定している:ルーメン5.5で.envを使用して複数のDB接続を使用する方法..?

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=2gh4RD89kWa87clEs6Vhjso3XhsFo3dR 
APP_TIMEZONE=UTC 

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=XXXXXX 
DB_USERNAME=XXXXXX 
DB_PASSWORD=XXXXXX 

CACHE_DRIVER=memcached 
QUEUE_DRIVER=sync 

と雄弁を使用してモデルを作成しました:

namespace App\Models; 

use Illuminate\Database\Eloquent\Model; 

class Test extends Model { 

    public $timestamps = false; 
    protected $connection = 'foo'; 
} 

は今.envファイルに複数のDB接続を設定するには、公式サイトにはdocumentionはありません。私の単一の接続は完璧に動作していますが、今は別のDB接続の詳細を追加する必要があります。

何私がこれまで試してみました:

  1. app/config/database.phpとしてデシベルの設定ファイルを作成し、複数のDB詳細と私のセットアップは、私は、そのファイルに書き込むどんな影響を受けません。接続の詳細を取得するのは.envのみです。

  2. よう.envファイル内の複数のDB接続の詳細を追加しようとしました:

    DB_CONNECTION = MySQLの DB_HOST = 127.0.0.1 DB_PORT = 3306 DB_DATABASE = XXXXXX DB_USERNAME = XXXXXX DB_PASSWORD = XXXXXX

    FOO_DB_CONNECTION = mysqlの FOO_DB_HOST = 127.0.0.1 FOO_DB_PORT = 3306 FOO_DB_DATABASE = FOOXXXXXX FOO_DB_USERNAME = FOOXXXXXX FOO_DB_PASSWORD = FOOXXXXXX

    DB_CONNECTION_FOO = mysqlの DB_HOST_FOO = 127.0.0.1 DB_PORT_FOO = 3306 DB_DATABASE_FOO = FOOXXXXXX DB_USERNAME_FOO = FOOXXXXXX DB_PASSWORD_FOO = FOOXXXXXX

しかし、それはちょうど私は、このエラーを与えておいてください。

(1/1) InvalidArgumentException 
Database [foo] not configured. 

私はgoogleで見つけたものすべてを試しました。私を助けてください..!!

+0

データベース設定ファイルを表示します。もちろん、機密データを削除してください。 – Wolen

+0

彼は詳細を追加しましたが、データベースの設定の詳細は追加しませんでした。 @Riteshはdatabase.phpを掲示してください – ayip

+0

私の質問で言及したように、config/database.phpは私のために働いていません。どちらか私はこのファイルを作成するかどうかは同じですが、私のプロジェクトを実行しています。 – Ritesh

答えて

1

私は私のプロジェクト(それがルーメン5.4である)で構成された方法は以下の通りです:

私は2つの異なる名前を持つ2つの接続を作成している config/database.php

'pgsql' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST', 'db'), 
     'port'  => env('DB_PORT', 5432), 
     'database' => env('DB_DATABASE', 'service_db'), 
     'username' => env('DB_USERNAME', 'service_user'), 
     'password' => env('DB_PASSWORD'), 
     'charset' => env('DB_CHARSET', 'utf8'), 
     'prefix' => env('DB_PREFIX', ''), 
     'schema' => env('DB_SCHEMA', 'public'), 
    ], 

    'pgsql2' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST2', 'db'), 
     'port'  => env('DB_PORT', 5432), 
     'database' => env('DB_DATABASE2', 'service_db'), 
     'username' => env('DB_USERNAME2', 'service_user'), 
     'password' => env('DB_PASSWORD2'), 
     'charset' => env('DB_CHARSET', 'utf8'), 
     'prefix' => env('DB_PREFIX', ''), 
     'schema' => env('DB_SCHEMA2', 'public'), 
    ], 

と各接続点までdb host/database/username/password/schemaの別のenv変数。これで問題が解決しない場合は、database.phpファイルを投稿してください。

+0

愚かな間違いは私がやったこと..アプリケーションフォルダ内のconfigフォルダに配置されました..アプリケーションフォルダの動きが働いて.. !!ありがとう.. !! – Ritesh

関連する問題