2014-09-10 12 views

risposta

4
rails dbconsole 
ALTER TABLE name RENAME column TO column 
+1

Solo una nota a margine @Boti, il tuo 'db/schema.rb' non verrà aggiornato con questo metodo, che potrebbe causare problemi durante la distribuzione. Se c'è una tale preoccupazione, potresti voler eseguire 'rake db: schema: dump' dopo aver fatto ciò, in modo che il file dello schema sia sincronizzato con la struttura attuale del database (e la denominazione). –

0
  1. si esegue in console: rails g migration ChangeColName
  2. si modifica il file db/migrate/"timestamp" _change_col_name.rb inserire nel cambiamento DEF -

    rename_column :tablename, :old_column_name, :new_column_name -save 
    
  3. si esegue in console : rake db:migrate :-)

+1

Non sono sicuro se confondete "console" con "terminale", ma ciò che l'OP intendeva era come farlo nella console delle guide reali (l'interfaccia IRB) senza scrivere/eseguire un file di migrazione. –

15

Ho optato per eseguire questo dalla console:

ActiveRecord::Base.connection.rename_column :tablename, :old_column_name, :new_column_name 
+1

Risposta migliore. Ti permette di eseguire comandi proprio come faresti nella migrazione di Rails. –

Problemi correlati