1

我已經使用GCP幾天了,但我正努力讓我的Ruby on Rails應用程序連接到託管在Cloud SQL上的Postgres。谷歌App Engine + Postgres雲SQL連接問題

我已經設法通過雲SQL代理本地連接並執行遷移,但我還沒有得到過去。

這是我的database.yml生產設置。

production: 
    <<: *default 
    adapter: postgresql 
    database: databasename 
    username: databaseuser 
    password: databasepassword 
    host: /cloudsql/project-name-172409:us-central1:application-name 

這是我的app.yaml設置。

runtime: custom 
env: flex 

health_check: 
    enable_health_check: false 

beta_settings: 
    cloud_sql_instances: project-name-172409:us-central1:application-name 

env_variables: 
    SECRET_KEY_BASE: 121212 

我的自定義docker文件繼承自基礎ruby構建並執行遷移。

我得到的錯誤是這樣的。

PG::ConnectionBad: could not connect to server: No such file or directory 
    Is the server running locally and accepting 

回答

0

看起來CloudSQL在Docker鏡像的構建過程中沒有安裝,這很合理。我假設它從來沒有安裝過,因爲我的構建沒有完成,因爲遷移失敗,這讓我認爲數據庫沒有連接。

一旦我從我的Dockerfile中刪除了遷移執行代碼並構建Docker鏡像,我就SSH進入了應用引擎實例,以檢查/ cloudsql目錄是否在那裏。我目前假設Rails可以連接到數據庫,因爲我沒有在我的webapp中發現任何錯誤。一旦我確認rails連接到Postgres Cloud SQL,我會報告回來。

+0

你知道這是什麼問題嗎? – Hendrik

0

我有同樣的問題。我忘了激活Cloud SQL API。激活它之後,一切都像魅力一樣。激活後,我不得不再次部署一切。