2017-08-03 56 views
0

我目前正在致力於Laravel項目。默認數據庫連接指向mySQL驅動程序。如何將驅動程序更改爲Postgres並使用heroku提供的憑據?如何配置Laravel應用程序以使用heroku PostgreSQL愛好開發?

+0

這是一個非常寬泛的描述。請提供問題的詳細信息,並告訴我們您迄今爲止所嘗試的內容。 – Siegmeyer

+0

@Siegmeyer我曾嘗試更改.env文件中的環境變量值以匹配Heroku提供的憑據。但.env文件不是提交的一部分(添加在.gitignore中)。我需要一種方式讓Heroku填充正確的環境變量。 –

回答

0

首先,將下面的代碼添加到數據庫配置文件的頂部。

$host = env('DB_HOST', '127.0.0.1'); 
$database = env('DB_DATABASE', ''); 
$username = env('DB_USERNAME', 'forge'); 
$password = env('DB_PASSWORD', 'forge'); 


if($databaseUrl = getenv('DATABASE_URL')) { 

    $url = parse_url($databaseUrl); 

    $host = $url['host']; 
    $username = $url['user']; 
    $password = $url['pass']; 
    $database = substr($url['path'], 1); 
} 

現在在同一文件中改變這樣的pgSQL的鍵的值,

'pgsql' => [ 
      'driver' => 'pgsql', 
      'host' => $host, 
      'port' => env('DB_PORT', '5432'), 
      'database' => $database, 
      'username' => $username, 
      'password' => $password, 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
      'sslmode' => 'prefer', 
     ] 

立即登錄到您的Heroku帳戶,您的項目的設置選項卡下添加兩個配置變量,

  1. 重點:DATABASE_URL和值:DB_CONNECTION一:創建愛好開發實例
  2. 關鍵的Heroku通過所提供的連接字符串d值:pgsql
+0

感謝您的輸入。現在正在工作。 –

相關問題