ActiveRecord로 모델 당 데이터베이스 연결을 가장 잘 처리하는 방법은 무엇입니까?
-
02-07-2019 - |
문제
나는 이것을 할 수있는 표준 방법을 원한다. 내 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에서.
제휴하지 않습니다 StackOverflow