2014-09-10 85 views

回答

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

只是一個側面說明@Boti,您的'db/schema.rb'不會使用此方法更新,這可能會導致您部署時出現問題。如果存在這樣的擔憂,那麼在完成此操作後,您可能希望運行'rake db:schema:dump',以便您的模式文件與當前數據庫結構(和命名)同步。 – 2014-09-10 15:29:46

0
  1. 您在控制檯中運行:rails g migration ChangeColName
  2. 編輯文件DB /遷移/ 「時間戳」 _change_col_name.rb在DEF改變插入 -

    rename_column :tablename, :old_column_name, :new_column_name -save 
    
  3. 您在控制檯中運行

    rake db:migrate :-)

+1

我不確定您是否將「控制檯」與「終端」混淆,但OP的含義是如何在實際的導航控制檯(IRB界面)中執行此操作,而無需編寫/運行遷移文件。 – 2014-09-10 15:31:17

15

我選擇從控制檯運行這個:

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

最佳答案。它允許您像在Rails遷移中一樣執行命令。 – 2015-06-16 20:26:56

相關問題