(ActiveRecord :: AdapterNotSpecified) База данных `course_competency` не настроена для среды` production` - PullRequest
0 голосов
/ 13 февраля 2020

Я использую Rails 6.0.0 для разработки API, и у меня есть несколько БД в database.yml . В локальной системе все работает нормально, но когда я создаю docker образ для развертывания приложения, я получаю следующую ошибку:

sidekiq_1    | => Booting Puma
sidekiq_1    | => Rails 6.0.0 application starting in production 
sidekiq_1    | => Run `rails server --help` for more startup options
web_1        | => Booting Puma
web_1        | => Rails 6.0.0 application starting in production 
web_1        | => Run `rails server --help` for more startup options
web_1        | Exiting
web_1        | /usr/local/bundle/gems/activerecord-6.0.0/lib/active_record/connection_adapters/connection_specification.rb:251:in `resolve_symbol_connection': The `course_competency` database is not configured for the `production` environment. (ActiveRecord::AdapterNotSpecified)
web_1        | 
web_1        | Available databases configurations are:
web_1        | 
web_1        | default
web_1        | development
web_1        | test
web_1        | production
sidekiq_1    | Exiting

Я прочитал это комментарии и также отформатировал database.yml файл для исправления любого отступа. Но все равно я получаю ту же ошибку и не могу развернуть.


database.yml

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 25
  username: uuuuuuuu
  password: pppppppp
  host: localhost
  port: 5432

development:
  primary:
    <<: *default
    database: course_development_dev_new
    migrations_paths: db/migrate

  users_sync:
    <<: *default
    database: course_database_usersync_dev_new
    migrations_paths: db/users_sync_migrations

  course_competency:
    <<: *default
    database: course_competency_development_dev_new
    migrations_paths: db/course_competency_migrations

test:
  primary:
    <<: *default
    database: course_test_local

  users_sync:
    <<: *default
    database: course_database_usersync_test_new

  course_competency:
    <<: *default
    database: course_competency_development_test_new

production:
  primary:
    <<: *default
    host: <%= ENV['COURSE_DATABASE_HOST'] %>
    port: 5432
    database: course
    username: course
    password: <%= ENV['COURSE_DATABASE_PASSWORD'] %>
    migrations_paths: db/migrate

  users_sync:
    <<: *default
    host: <%= ENV['COURSE_USERSYNC_DATABASE_HOST'] %>
    port: 5432
    database: <%= ENV['COURSE_USERSYNC_DATABASE_NAME'] %>
    username: <%= ENV['COURSE_USERSYNC_DATABASE_USER_NAME'] %>
    password: <%= ENV['COURSE_USERSYNC_DATABASE_PASSWORD'] %>
    migrations_paths: db/users_sync_migrations

  course_competency:
    <<: *default
    host: <%= ENV['COURSE_GLOBAL_DATABASE_HOST'] %>
    port: 5432
    database: <%= ENV['COURSE_GLOBAL_DATABASE_NAME'] %>
    username: <%= ENV['COURSE_GLOBAL_DATABASE_USERNAME'] %>
    password: <%= ENV['COURSE_GLOBAL_DATABASE_PASSWORD'] %>
    migrations_paths: db/COURSE_competency_migrations

ApplicationRecord

Я не использую connects_to здесь (как предложено здесь) , надеюсь, что теперь проблема?

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

Куда я иду не так ?? Любой ответ будет полезен.

...