Rails: mysql & postgres одновременно в одном приложении? - PullRequest
4 голосов
/ 28 октября 2009

Почему вы можете спросить? Потому что я построил приложение на MySQL и мне нужно начать использовать postgres только для компонента ГИС моего приложения. В конце концов я полностью перейду на postgres, но пока хотел бы узнать, возможно ли это

Ответы [ 2 ]

10 голосов
/ 28 октября 2009

Если, например, у вас в вашем database.yml есть что-то вроде этого (на самом деле не вспомнить правильные атрибуты, но я думаю, что вы поняли):

postgres:
    adapter: postgres
    database: gis

mysql:
    adapter: mysql
    database: app

Тогда вы можете добавить

establish_connection :postgres 

в моделях, которые должны использовать базу данных Postgres. Конечно, может быть проще создать абстрактный класс и заставить все модели использовать его вместо этого, поскольку он более СУХОЙ.

class PostgresRecord::Base < ActiveRecord::Base
  self.abstract_class = true
  establish_connection :postgres
end

Или, так как вы планируете в конечном итоге перейти на Postgres, вы, вероятно, должны сделать обратное, установить базу данных Postgres по умолчанию и изменить соединение для MySQL.

0 голосов
/ 28 октября 2009

Вы только что создали другое соединение ODBC с вашим новым драйвером Postgres и используете его для создания запросов. Вот и все.

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