If the tables are not too big the easiest way might be to copy the data with a few lines of Ruby code within your migration. This has the benefit of using existing associations and validation and the code is easier to read and to understand for Ruby developers.
On huge tables, I would suggest doing it in plain SQL because that would be much faster.
I assume that you have both a
MyTable and a
create_table :my_new_tables do |t|
t.references :my_tables, index: true
t.timestamps null: false
MyTable.find_each do |table|
MyNewTable.create(user: table.user, guest: table.guest, my_table: table)
remove_column :my_tables, :guest
remove_column :my_tables, :user