2012-05-01 3 views
2

Heroku에 두 개의 앱이 있으며 동일한 전용 데이터베이스를 사용하고 싶습니다. 문제는이 새로운 앱이 다른 앱/모델과 동일한 모델/테이블을 가지고 있다는 것입니다.Heroku의 두 앱 사이의 전용 데이터베이스 공유

내 질문은 :

  • 나는 새로운 응용 프로그램에서 테이블의 이름을 변경해야 하는가?

  • 그렇다면 모델 이름은 어떻게됩니까? 모델을 다른 이름의 테이블과 매핑 할 수 있습니까? (user 대신 new_user 표가있는 User 모델과 유사).

이렇게하는 방법에 대한 좋은 조언을 보내 주시면 감사하겠습니다.

감사합니다.

답변

2

일반적으로 이것은 아마도 좋은 생각이 아닐 수 있습니다. Rails는 데이터베이스를 100 % 제어 할 수 있다고 가정합니다.

테이블을 분리하고 충돌을 일으킬 수없는 경우에도 테이블에 여전히 문제가 있습니다. 이 테이블은 모든 이주를 보유하고 두 응용 프로그램에 대한 모든 이주 레코드의 혼합을 포함합니다. 예를 들어, rake db:rollback 또는 다른 rake 명령을 실행하려고 할 때마다 이렇게하면 응용 프로그램을 혼동시킬 수 있습니다.

schema.rb 파일이 두 응용 프로그램간에 동기화되지 않을 수있는 문제가있을 수 있습니다.

데이터베이스를 공유하고 수행하려는 다른 방법이 있는지 확인하는 것이 좋습니다. 예를 들어 Active Resources을 사용하여 응용 프로그램을 안정적으로 연결할 수 있습니다.

+0

알았어. 하지만 한 데이터베이스에 대해 여러 스키마를 만들 수 있으므로 결국'schema_migrations'가 올바르게 복제 될 것이라고 생각합니까? –

+0

또한 다른 응용 프로그램이 이전 응용 프로그램과 동일한 데이터에 액세스하기를 원한다고 가정하는'Active Resources'에 대해서도? 하지만 제 경우에는 동일한 데이터를 공유하지 않기를 바랍니다 ... –

+0

단일 데이터베이스 서버를 실행하고 싶지만 단일 서버에 여러 개의 '데이터베이스/스키마'가 있더라도 괜찮습니까? –

관련 문제