1

Когда я получил мой database.yml настроен так:ActiveRecord :: Base.establish_connection с PostgreSQL на AWS

default: &default 
    adapter: postgresql 
    encoding: utf8 
    pool: 5 
    timeout: 5000 

production: 
    <<: *default 
    host: my_db_address 
    port: 5432 
    database: my_db_name 
    username: my_db_user_name 
    password: my_db_password 

< test and development ommited > 

Когда я установить соединение, как это:

ActiveRecord::Base.establish_connection 

это говорит ActiveRecord::AdapterNotSpecified - 'production'

Это работает hoverwer Если я сделаю это вот так:

ActiveRecord::Base.establish_connection(
    {:adapter => 'postgresql', 
    :database => 'my_db_name', 
    :host => 'my_db_address', 
    :port => '5432', 
    :username => 'my_db_user_name', 
    :password => 'my_db_password'} 
) 

Я бы предпочел загрузить конфигурацию из базы данных.yml. Как мне это сделать?

Я на Rails 4.2.1 и Postgres 9.4

ответ

2

Вот рабочий код:

db_config = YAML.load_file('config/database.yml') 
ActiveRecord::Base.establish_connection(db_config['production']) 
-2

Просто пройти производственную среду в качестве опции:

ActiveRecord::Base.establish_connection(:production) 
+0

Что должно быть под: производство? –

+0

это ссылка на вашу конфигурацию производства, которую вы установили в database.yml – Fenec

+0

Если я это сделаю, это говорит о том, что нет адаптера –

Смежные вопросы