2017-07-21 23 views
0

私は新しいPostgreSQLユーザを作成しました:私はlaravelのデフォルトのpostgresqlスキーマを設定するには?

DB_DATABASE=postgres 
DB_USERNAME=lara_user 
DB_PASSWORD=mypassword 

Laravelを持って次にLaravelの.envファイルでは、このユーザー

CREATE schema lara AUTHORIZATION lara_user; 

によって所有されているスキーマを作成

CREATE ROLE lara_user SUPERUSER LOGIN PASSWORD 'mypassword'; 

スキーマを見ていませんlaraであり、依然としてpublicスキーマに接続されています。

Laravelのデフォルトスキーマlaraを変更して設定するにはどうすればよいですか?

+1

app/config/database.phpにあなたは適切な接続で 'schema'配列のキーを使用して、アプリ/設定/ database.php''でスキーマを設定することができます。これはハードコーディングすることも、 '.env'から新しい' DB_SCHEMA'定数を参照することもできます – iainn

+0

'.env'ファイルに' DB_SCHEMA = lara'を追加しましたが、私のLaravelアプリケーションは 'public 'スキーマ(そして 'lara'スキーマはありません) – RIKI

+0

@enain - ' .env'ファイルの 'DB_SCHEMA'は動作しませんが、' app/config/database.php'ファイルのスキーマの変更は機能します。 – RIKI

答えて

2

'pgsql' => array(
      'driver' => 'pgsql', 
      'host'  => 'localhost', 
      'database' => 'forge', 
      'username' => 'forge', 
      'password' => '', 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
     ), 
+1

おそらくあなたはスキーマ名が必要であると思いますか? ''schema' => 'public''。私はそれを 'lara'に変更して動作します、ありがとう – RIKI

関連する問題