# DB_* from .env locally; on cPanel set the same in Ruby App env vars (or cpanel_dotenv).
default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("WEB_CONCURRENCY", 1).to_i * ENV.fetch("RAILS_MAX_THREADS", 5).to_i %>
  host: <%= ENV["DB_HOST"] || "127.0.0.1" %>
  port: <%= ENV["DB_PORT"] || 3306 %>
  username: <%= ENV["DB_USERNAME"] || "root" %>
  password: <%= ENV["DB_PASSWORD"] || "" %>

development:
  <<: *default
  database: <%= ENV["DB_DATABASE"] || "farm_backend_development" %>

test:
  <<: *default
  database: farm_backend_test

production:
  <<: *default
  pool: <%= ENV.fetch("DB_CONN_POOL", ENV.fetch("RAILS_MAX_THREADS", 5)).to_i %>
  host: <%= ENV["DB_HOST"] || "mysql-7763a72-sanjaybarlacs-4fe6.d.aivencloud.com" %>
  port: <%= ENV["DB_PORT"] || 15229 %>
  database: <%= ENV["DB_DATABASE"] || "defaultdb" %>
  username: <%= ENV["DB_USERNAME"] || "avnadmin" %>
  password: <%= ENV["DB_PASSWORD"] || ENV["FARM_BACKEND_DATABASE_PASSWORD"] %>
  <% ssl_ca = ENV["DB_SSL_CA_PATH"].presence %>
  <% ssl_ca ||= Rails.root.join("config/certs/aiven-ca.pem").to_s if defined?(Rails) && File.file?(Rails.root.join("config/certs/aiven-ca.pem")) %>
  <% if ssl_ca.present? %>
  sslca: <%= ssl_ca %>
  ssl_mode: :VERIFY_IDENTITY
  <% elsif ENV.fetch("DB_SSL", "true") == "true" %>
  ssl_mode: :REQUIRED
  <% end %>
