2010-04-14 3 views

답변

8

DataMapper는 다중 데이터베이스 사용을 위해 설계되었습니다.

DataMapper.setup(:repository_one, "mysql://localhost/my_db_name")과 같이 말하면 여러 저장소를 설정할 수 있습니다.

는 DataMapper는 다음 참조 및 범위 지정에 사용할 수있는 해시에 설치 된 모든 저장소를 추적합니다

DataMapper.repository(:repository_one){ MyModel.all }

(기본 범위는 사용자가 설정할 수 있습니다 DataMapper.repository을, 인 DataMapper.setup(:default, "postgres://localhost/my_primary_db") 등으로 말하십시오)

+0

공식 문서는 http://datamapper.org/docs/misc.html에서 찾을 수 있습니다. 컨텍스트/저장소를 지정하지 않으면': default'가 사용됩니다. 적어도 그러한 맥락이 있어야합니다. –

2

필자는 모든 ORM 및 기본 데이터베이스 액세스를위한 Sequel을 개인적으로 선호하며 Sinatra/Padrino와 함께 사용하며 Rails 외부의 데이터베이스에 액세스해야합니다.

저는 DataMapper를 사용했지만 Sequel이 더 쉽고 유연하게 느껴졌지만 어쩌면 그것이 내 마음이 작동하는 방식 일 것입니다. ActiveRecord는 자체적으로는 괜찮지 만 Rails와 함께 사용하면 효과적이라고 생각합니다.

"어느 것이 더 낫습니다"? 나는 그것이 주관적이고 대부분 당신의 두뇌가 어떻게 작용하는지에 달려 있다고 생각합니다.

5

대부분의 ORM에서는 다른 데이터베이스를 사용할 수 있습니다. DataMapper는 knowtheory 대답을 찾습니다. 은 속편 위해 당신은 모델에 데이터베이스 핸들러를 전달할 수 DB 데이터베이스를 열

class Tag < Sequel::Model(db) 
end 

. ActiveRecord의 경우에는 establish_connection 메소드를 사용할 수 있습니다.

관련 문제