2017-04-18 2 views

Répondre

2

Il n'existe aucune méthode de ce type dans ActiveRecord::Migration pour modifier le nom du schéma, mais vous pouvez utiliser plain sql command.

d'abord générer un fichier de migration:

$> bundle exec rails g migration RenameSchema 

Ensuite, ouvrez-le et ajoutez:

class RenameSchema < ActiveRecord::Migration 
    def up 
    execute "ALTER SCHEMA you_old_name RENAME TO you_new_name" 
    end 

    def down 
    execute "ALTER SCHEMA you_new_name RENAME TO you_old_name" 
    end 
end 

Avec cette migration, vous pouvez changer de nom et rollback en arrière.

Remarque: Vous devez posséder le schéma pour utiliser ALTER SCHEMA. Pour renommer un schéma, doit également avoir le privilège CREATE pour la base de données.