2014-09-10 72 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