DataMapper to migrate data from one table to another.

363 views Asked by At

If I am using DataMapper, and I have two databases, is there any way using migration.rb to copy a table for example table person from database 1 to database 2? (same schema and table values).

Referring this:https://github.com/datamapper/dm-migrations/blob/master/examples/sample_migration.rb

It only tells me how to add/modify/drop tables.

Thanks for help.

1

There are 1 answers

1
bioneuralnet On BEST ANSWER

I don't think that's the intention of dm-migrations. I believe the easiest way would be something like this:

DataMapper.setup(:default, db1_config)
DataMapper.setup(:new, db2_config)
class Foo
  include DataMapper::Resource
  property :id, Serial
  property :name, String
  ...
end
DataMapper.finalize

Foo.each do |foo|
  DataMapper.repository(:new) do
    # It may not let you set the "id" attribute here...
    Foo.create(foo.attributes)
  end
end

Edit

In hindsight, I'm not sure if you were asking how to to copy table structure as to opposed to table data. This is obviously copying table data.