Как использовать 2 разных адаптера базы данных (SQL Server и PostgreSQL) в Rails в одной среде? - PullRequest
2 голосов
/ 21 января 2012

Я работаю над проектом Rails 3, который использует базу данных PostgreSQL.

Мне нужно иногда делать запросы к удаленной базе данных SQL Server (чистый SQL и хранимые процедуры)

Чтобы добиться цели, я могу использовать TinyTDS для доступа к SQL Server и выполнения запросов:

development:
  adapter: sqlserver
  mode: dblib
  host: 123.123.123.123
  port: 1433
  database: the_db_name
  username: the_user
  password: the_pwd
  timeout: 5000

Работает хорошо, но я не знаю, как использовать 2 разных адаптера базы данных одновременно.

Возможно ли это? Или, может быть, есть другой способ сделать это?

1 Ответ

2 голосов
/ 25 января 2012

В вашем файле database.yml добавьте еще один блок "environment" для вашего соединения postgres

пример имени среды может быть

postgres_development

Тогда в вашей среде.В файл rb добавьте следующую строку

[ModelName].establish_connection "postgres_#{RAILS_ENV}"

Где [ModelName] - это объект ActiveModel, который вы хотите специально подключить к другой среде базы данных.Я не уверен, что это работает в рельсах 3 100%, но я знаю, что это работает в рельсах 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...