sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo puedo mover datos de una tabla a otra en la migración de Rails?

Suponiendo:1.ha creado todas las columnas requeridas en la tabla de usuarios (como estaba en la tabla de autores).

2. Solo necesita copiar todos los registros de autor al Usuario.

¡Cree su archivo copy_author_to_user.rb en la siguiente ubicación!

# db/scripts/copy_author_to_user.rb
require 'rubygems'

Author.all.each do |a|
  user = User.new(
    :username => a.name.downcase.strip,
    :encrypted_password => '', 
    :email => '',
    :avatar_file_name => a.avatar_updated_at,
    :avatar_content_type => a.avatar_content_type,
    :avatar_file_size => a.avatar_file_size,
    :avatar_updated_at => a.avatar_updated_at,
    :role_id => "3"
  )
  user.save!
end

then from console run : 
$rails runner db/scripts/copy_author_to_user.rb