# MySQL. Versions 5.6.4 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem "mysql2"
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
<% if database.socket -%>
  socket: <%= database.socket %>
<% else -%>
  host: <%%= ENV.fetch("DB_HOST") { "<%= database.host %>" } %>
<% end -%>

development:
  <<: *default
  database: <%= app_name %>_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: <%= app_name %>_test

# As with config/credentials.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password or a full connection URL as an environment
# variable when you boot the app. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# If the connection URL is provided in the special DATABASE_URL environment
# variable, Rails will automatically merge its configuration values on top of
# the values provided in this file. Alternatively, you can specify a connection
# URL environment variable explicitly:
#
#   production:
#     url: <%%= ENV["MY_APP_DATABASE_URL"] %>
#
# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full overview on how database connection configuration can be specified.
#
<%- if options.skip_solid? -%>
production:
  <<: *default
  database: <%= app_name %>_production
  username: <%= app_name %>
  password: <%%= ENV["<%= app_name.upcase %>_DATABASE_PASSWORD"] %>
<%- else -%>
production:
  primary: &primary_production
    <<: *default
    database: <%= app_name %>_production
    username: <%= app_name %>
    password: <%%= ENV["<%= app_name.upcase %>_DATABASE_PASSWORD"] %>
  cache:
    <<: *primary_production
    database: <%= app_name %>_production_cache
    migrations_paths: db/cache_migrate
  queue:
    <<: *primary_production
    database: <%= app_name %>_production_queue
    migrations_paths: db/queue_migrate
  <%- unless options.skip_action_cable? -%>
  cable:
    <<: *primary_production
    database: <%= app_name %>_production_cable
    migrations_paths: db/cable_migrate
  <%- end -%>
<%- end -%>
