使用 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
}