ActiveRecord로 모델 당 데이터베이스 연결을 가장 잘 처리하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/141201

문제

나는 이것을 할 수있는 표준 방법을 원한다. 내 Google 검색이 부족했습니다. 나머지 응용 프로그램과 다른 데이터베이스에 매핑되어야하는 ActiveRecord 모델이 하나 있습니다. 새로운 구성을 Database.yml 파일에 저장하고 싶습니다.

나는 spation_connection을 호출해야한다는 것을 이해하지만 어디에 있는지는 확실하지 않습니다. 지금까지 내가 얻은 내용은 다음과 같습니다.

class Foo < ActiveRecord::Base
    establish_connection(('foo_' + ENV['RAILS_ENV']).intern)
end
도움이 되었습니까?

해결책

또한 다음과 같은 다른 데이터베이스를 사용하는 모델을 서브 클래스하는 것이 좋습니다.

class AnotherBase < ActiveRecord::Base
  self.abstract_class = true
  establish_connection "anotherbase_#{RAILS_ENV}"
end

그리고 당신의 모델에서

class Foo < AnotherBase
end

다른 데이터베이스에 동일하게 액세스하는 후속 모델을 추가해야 할 때 유용합니다.

다른 팁

heh. 내가 맞았 어! 더 깨끗하게 :

class Foo < ActiveRecord::Base
    establish_connection "foo_#{ENV['RAILS_ENV']}"
end

훌륭한 게시물 Pragedave.pragprog.com에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top