2014-09-10 2 views

Antwort

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

Nur eine Randnotiz @Boti, Ihre 'db/schema.rb' wird nicht mit dieser Methode aktualisiert, was möglicherweise Probleme bei der Bereitstellung verursachen wird. Wenn es ein solches Problem gibt, möchten Sie vielleicht 'rake db: schema: dump' ausführen, damit Ihre Schemadatei mit der aktuellen Datenbankstruktur (und Benennung) synchronisiert wird. –

0
  1. Sie in der Konsole ausführen: rails g migration ChangeColName
  2. Sie die Datei db bearbeiten/Migration/"Zeitstempel" _change_col_name.rb in def Wechseleinsatz -

    rename_column :tablename, :old_column_name, :new_column_name -save 
    
  3. Sie in der Konsole laufen : rake db:migrate :-)

+1

Ich bin mir nicht sicher, ob Sie "Konsole" mit "Terminal" verwechseln, aber das OP bedeutete, wie dies in der eigentlichen Rails-Konsole (der IRB-Schnittstelle) zu tun ist, ohne eine Migrationsdatei zu schreiben/auszuführen. –

15

Ich entschied ich diese von der Konsole ausführen:

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

Beste Antwort. Sie können Befehle genau wie in der Rails-Migration ausführen. –

Verwandte Themen