【问题标题】:Google App Engine + Postgres Cloud SQL connection issuesGoogle App Engine + Postgres Cloud SQL 连接问题
【发布时间】:2017-12-05 15:30:01
【问题描述】:

我已经使用 GCP 几天了,但我很难让我的 Ruby on Rails 应用程序连接到托管在 Cloud SQL 上的 Postgres。

我已设法通过云 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

【问题讨论】:

    标签: ruby-on-rails postgresql google-app-engine google-cloud-sql


    【解决方案1】:

    我有同样的问题。我忘记激活 Cloud SQL API。激活它后,一切都像一个魅力。激活后,我不得不再次部署所有内容。

    【讨论】:

    • 您能否详细说明激活 Cloud SQL API 的含义?
    【解决方案2】:

    看起来 CloudSQL 在构建 docker 映像期间没有挂载,这是有道理的。我假设它从未安装过,因为由于迁移失败,我的构建都没有完成,这让我认为数据库没有连接。

    从 Dockerfile 中删除迁移执行代码并构建 Docker 映像后,我通过 SSH 连接到应用引擎实例以检查 /cloudsql 目录是否存在。我目前假设 Rails 可以连接到数据库,因为我的 webapp 中没有任何错误。一旦我确认 rails 正在连接到 Postgres Cloud SQL,我会报告。

    【讨论】:

    • 你找出问题所在了吗?
    • 我注意到我在 SSH 到 VM 中缺少 /cloudsql 目录。你的问题是什么?
    猜你喜欢
    • 2020-06-07
    • 1970-01-01
    • 2014-07-19
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2019-11-27
    • 2020-10-18
    相关资源
    最近更新 更多