回答
rails dbconsole
ALTER TABLE name RENAME column TO column
只是一个侧面说明@Boti,您的'db/schema.rb'不会使用此方法更新,这可能会导致您部署时出现问题。如果存在这样的担忧,那么在完成此操作后,您可能希望运行'rake db:schema:dump',以便您的模式文件与当前数据库结构(和命名)同步。 – 2014-09-10 15:29:46
- 您在控制台中运行:
rails g migration ChangeColName
编辑文件DB /迁移/ “时间戳” _change_col_name.rb在DEF改变插入 -
rename_column :tablename, :old_column_name, :new_column_name -save
- 您在控制台中运行
:
rake db:migrate
:-)
我不确定您是否将“控制台”与“终端”混淆,但OP的含义是如何在实际的导航控制台(IRB界面)中执行此操作,而无需编写/运行迁移文件。 – 2014-09-10 15:31:17
我选择从控制台运行这个:
ActiveRecord::Base.connection.rename_column :tablename, :old_column_name, :new_column_name
最佳答案。它允许您像在Rails迁移中一样执行命令。 – 2015-06-16 20:26:56
你不应该没有迁移,它不是最好的做法,也不是轨道方式。 – 2014-09-10 13:20:32
我知道这是一个非常讨厌的数据库同步问题... – Boti 2014-09-10 13:50:56