やったこと
Google App EngineにデプロイしたElixirのWebアプリからGoogle Cloud SQLへ接続する.
手順
app.yaml
env: flex runtime: gs://elixir-runtime/elixir.yaml runtime_config: release_app: myapp beta_settings: cloud_sql_instances: "connection_name"
prod.secret.exs
# Configure your database config :myapp, Myapp.Repo, adapter: Ecto.Adapters.Postgres, username: "postgres", password: "password", database: "myapp_prod", socket_dir: "/cloudsql/connection_name", pool_size: 10
上記設定ののちデプロイする.
migrationはローカル側で行う.
MIX_ENV=prod mix ecto.create MIX_ENV=prod mix ecto.migrate
開発環境でdev用DBに接続したい場合は
About the Cloud SQL Proxy | Cloud SQL for MySQL | Google Cloud
ここのcloud_sql_proxyを用いてDBへ接続する.