PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich bei der Rails-Migration Daten von einer Tabelle in eine andere verschieben?

Angenommen:1.Sie haben alle erforderlichen Spalten in der Benutzertabelle erstellt (wie in der Autorentabelle).

2. Sie müssen nur alle Autorendatensätze nach User. kopieren

Erstellen Sie Ihre copy_author_to_user.rb-Datei an der folgenden Stelle!

# 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