PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je déplacer des données d'une table à une autre dans la migration des rails ?

En supposant :1.vous avez créé toutes les colonnes requises dans la table des utilisateurs (comme dans la table des auteurs).

2. Il vous suffit de copier tous les enregistrements d'auteur dans l'utilisateur.

Créez votre fichier copy_author_to_user.rb à l'emplacement ci-dessous !

# 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