Я использую рельсы 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
Если у вас возникли проблемы с подключением к правой базе данных, разве вы не думаете, что было бы полезно показать, как вы пытаетесь подключиться, и что происходит, когда вы изменяете детали соединения? –