从表中删除坏列

时间:2014-02-06 22:16:44

标签: ruby-on-rails ruby

我有一个ruby-on-rails Web应用程序,其中我错误地将一列添加到表中。

我所做的是在我的移植文件中:

add_column :my_table, :string, :col_name

当然我应该放:

add_column :my_table, :col_name, :string

基本上,我切换了列名并输入。

它确实添加了列 - 但没有任何类型。如果我在控制台中检查该表,它会显示一个名为“string”的列,但不会列出任何类型。

现在,我无法删除它。如果我做

remove_column: my_table, :string

我得到一个零例外。

有什么建议吗?

提前致谢, 添

3 个答案:

答案 0 :(得分:2)

查找版本号和run the down migration

rake db:migrate:down VERSION=unique_stamp

另外,请确保您将参数传递给符号 字符串

remove_column :my_table, :string

答案 1 :(得分:0)

您可以尝试回滚迁移

rake db:rollback

请参阅:http://guides.rubyonrails.org/migrations.html

答案 2 :(得分:-1)

您可以尝试重命名:string列吗?

rename_column :my_table, :string, :col_name