세 개의 데이터베이스에서 동일한 뷰 집합이 10 개 정도 있습니다. 이러한 뷰에는 데이터베이스의 사용자, 객체 등이 포함됩니다. 나는 사용자 세션을 기반으로 데이터베이스 연결을 변경할 수 있기를 원합니다. 즉, 사용자가 로그인하여 작업 할 세 개의 데이터베이스 중 하나를 선택하면 뷰에 대한 모델이 적절한 연결을 사용합니다.세션 정보를 기반으로 데이터베이스를 전환
저는 이것을 코딩하는 최선의 방법을 고민하고 있습니다. 여러 명의 사용자가 동시에 응용 프로그램을 사용하는 경우 모델에 3 개의 연결 풀 (각 데이터베이스 당 하나씩)을 유지해야한다고 생각합니다. 나는 확신 할 수 없다. 내가 알아낼 수없는 것은 모델이 특정 연결을 사용하도록 강제 할 수있는 방법이다. 찾기와 세션에서 그 정보를 전달하는 방법.
전체적으로이 접근법에 대한 의견이 있으십니까? 뭔가 더 좋아 졌니?
대신 세 개의 데이터베이스 중 하나에 대해 구성된 세 개의 인스턴스를 실행 한 다음 사용자가 작업하고자하는 하위 도메인 (예 : 하위 도메인)으로 선택적으로 리디렉션 하시겠습니까? – coreyward
내가 가지고있는 유일한 문제는 변경 사항을 저장하는 것입니다. 위에서 언급하지는 않았지만 사용자는 관계에 대한 변경을 요청할 수 있습니다. 필자가 필연적으로 "데이터베이스 A에서 이러한 변경을 요청했습니다. 왜 데이터베이스 B에 대해 다시 요청해야합니까?"라는 메시지가 나타나면 세 가지 응용 프로그램 솔루션이 고장납니다. – Dave
[Ryan Bigg] (http://stackoverflow.com/users/15245/ryan-bigg)에서이 전자 서적을 읽을 수 있습니다. https://leanpub.com/multi-tenancy-rails-2 @ryanbigg – coreyward