使用 Datamapper 将数据从一个数据库传输到另一个数据库
Transfer data from one database to another with Datamapper
我在数据映射器中设置了两个存储库,如下所示:
DataMapper.setup(:default, "sqlite://path/to/db1")
DataMapper.setup(:another, "sqlite://path/to/otherdb")
假设我有一个模型 Foo
,它们共享一个架构。这是我想要完成的伪代码:
DataMapper.repository(:default){
Foo.each do |f|
# do some transformations
# write to Foo table in DataMapper.repository(:another)
end
}
我该怎么做?
我最终的做法:
DataMapper.repository(:default){
Foo.each do |foo|
DataMapper.repository(:another){
newFoo = Foo.new
newFoo.attributes = foo.attributes
newFoo.save
}
end
}
我在数据映射器中设置了两个存储库,如下所示:
DataMapper.setup(:default, "sqlite://path/to/db1")
DataMapper.setup(:another, "sqlite://path/to/otherdb")
假设我有一个模型 Foo
,它们共享一个架构。这是我想要完成的伪代码:
DataMapper.repository(:default){
Foo.each do |f|
# do some transformations
# write to Foo table in DataMapper.repository(:another)
end
}
我该怎么做?
我最终的做法:
DataMapper.repository(:default){
Foo.each do |foo|
DataMapper.repository(:another){
newFoo = Foo.new
newFoo.attributes = foo.attributes
newFoo.save
}
end
}