2013-11-22 5 views
0

Я использую рельсы 3.2.15. У меня есть две базы данных postgresql, одна из которых - основная и другая postgis. Из модели Postgis я подключаюсь к базе данных postgis следующим образом:Рельсы в режиме производства не подключаются ко второй базе данных

class Postgis < ActiveRecord::Base 
    establish_connection :postgis_db 
    self.table_name = 'geometry_columns' 
    self.inheritance_column = :_type_disabled 
end 

В режиме разработки все работает. Но при переходе на веб-сервере не запуститься со следующим исключением

gems/activerecord-3.2.15/lib/active_record/connection_adapters/postgresql_adapter.rb:1163:in `exec': PG::UndefinedTable: ERROR: relation "postgis" does not exist (ActiveRecord::StatementInvalid) 
LINE 5:    WHERE a.attrelid = '"postgis"'::regclass 
             ^
:    SELECT a.attname, format_type(a.atttypid, a.atttypmod), 
        pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod 
       FROM pg_attribute a LEFT JOIN pg_attrdef d 
       ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
      WHERE a.attrelid = '"postgis"'::regclass 
       AND a.attnum > 0 AND NOT a.attisdropped 
      ORDER BY a.attnum 

Он не подключается к базе данных PostGIS и попытаться найти PostGIS таблицы в основной базе данных. Я пытаюсь по-разному подключиться к базе данных postgis, но результат такой же.

Отредактировано:

database.yml:

postgis_db: 
    adapter: postgresql 
    encoding: utf8 
    reconnect: false 
    database: mydb_gis 
    pool: 5 
    username: osmsrv 
    password: osmsrv 
    host: localhost 
    schema_search_path: public 
production: 
    adapter: postgresql 
    encoding: utf8 
    reconnect: false 
    database: gis 
    pool: 5 
    username: osmsrv 
    password: osmsrv 
    host: localhost 
+0

Если у вас возникли проблемы с подключением к правой базе данных, разве вы не думаете, что было бы полезно показать, как вы пытаетесь подключиться, и что происходит, когда вы изменяете детали соединения? –

ответ

1

Я решил проблему. Около 10 дней назад я сделал модель со связью со второй БД, и она отлично работала. Когда я переключался на производство, я был уверен, что соединение работает в разработке, но я ошибся. В разработке соединение также не работает. Проблема была в gem 'texticle' "2.0". После его удаления соединение работает нормально.

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