PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como posso mover dados de uma tabela para outra na migração do Rails?


Supondo:1.você criou todas as colunas necessárias na tabela User (como na tabela de autor).

2. Você só precisa copiar todos os registros de autor para User.

Crie seu arquivo copy_author_to_user.rb no local abaixo!
# 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