Since i`ve been using both DataMapper (Merb/Sinatra) and ActiveRecord (Rails) a lot i noticed that AR acts weight when i manually set PK key, particularly ID field, which you dont have to define by default. In DM you have to define it as ‘Serial’.
So, the task is to create/update records in your database which is supposes to represent data from primary database. In such cases all ID`s should be unique and equal to each other.
To disable autoincremental ID field in your AR models just use this option:
create_table :foo, :id => false do |t| t.integer :id, :options => 'PRIMARY KEY' # .... rest of columns end