2013-03-08 2 views
1

매우 독특한 상황이 있습니다. 먼저 우리는 php로 작성된 레거시 애플리케이션을 레일로 마이그레이션하고있다. 우리는 SaaS이므로 CLIENT 데이터베이스와 webapp에 연결하는 데 사용하는 db 인증 자격 증명을 보유하는 로그인 데이터와 같은 많은 마스터 데이터를 보유한 하나의 APPLICATION 데이터베이스를 보유합니다. 클라이언트 보안 등으로 인해 모든 데이터는 개별 CLIENT 데이터베이스로 분리되어야합니다. 우리는 그것에 대한 선택권이 없습니다.결과 집합과 여러 데이터베이스 간의 결과 집합 업데이트 및

CLIENT 데이터베이스는 한 걸음 더 나아가 주 APPLICATION 데이터베이스/webapp에서 액세스해야하는 출하 및 재고 데이터와 같은 데이터를 보유합니다.

그래서 우리가 해결하려고하는 문제는 이것입니다. APPLICATION 데이터베이스/webapp에는 관리 항목이 있으므로 모든 클라이언트에서 출하 및 재고를 관리 할 수 ​​있습니다. 이 웹 응용 프로그램은 모든 클라이언트의 출하 및 재고를 확인하고 출하 상태 (출하, 출하 중) 및 재고를 업데이트해야합니다.

그래서 APPLICATION 데이터베이스를 사용하는 하나의 응용 프로그램 인 레일스 응용 프로그램을 만든 다음 분리 된 CLIENT DB의 모든 CLIENT 데이터를 쿼리하고 업데이트하는 가장 좋은 방법은 무엇인지 알지 못했습니다.

나는 이것을 손에 넣으려고 노력할 것이다.

마스터 애플리케이션 webapp에는 100 개의 CLIENT dbs에 대한 배송 날짜를 검색하고 배송 데이터를 테이블에 표시하는 인터페이스가 있습니다. 또한 우리는 선적 행을 드릴 다운하여 재고 데이터를 업데이트하고 배송 상태 등을 업데이트해야합니다.

제 질문은 레일에서도 가능하며 db 연결을 정의하는 방식 때문에 ActiveRecord가 제한되어 있습니다. database.yml 파일에? 나는 이것을 해결할 수있는 방법이 있음을 알고 있지만 레일을 처음 사용하는 것은 우리가이 일을 올바르게하고 싶어합니다. 분명히 성능은 매우 중요하지 않지만 그렇게해야합니다.

답변

1

DbCharmer (github) 일 수 있습니다. 그것은 당신이하고자하는 것을 지원할 것입니다. 또는 아마도 data-fabric

+0

감사합니다. 나는 그들을 체크 아웃 할 것입니다. 다른 말로하면, 이것은 제가 찾고있는 것입니다. SELECT {$ var_db_name} .EVENTSHIPPING.INFO {$ var_db_name} .EVENTSHIPPING WHERE {$ var_db_name} .EVENTSHIPPING.EVENT_ID = {$ var_event_id}. select 문은 모든 db 이름 또는 $ var_db_name을 통과하는 루프 내부에 있습니다. –