【发布时间】:2015-07-29 01:10:31
【问题描述】:
我的Blog 表中有这三列没有数据类型,例如:
Blog(id: integer, url: text, created_at: datetime, updated_at: datetime, webname: , name: text, homeurl: , blogname: , home_url: text, blog_name: string)
其中homeurl:、blogname: 和webname: 由于某种原因没有任何数据类型。不确定它们是如何添加到数据库中的,但我想删除它们,因为我的 Blogs 表不会显示在我的 rails 应用程序的 schema.rb 部分中。
问题是,我尝试过的所有方法都不起作用。我已经尝试rake db:migration RemoveColumn 将此作为我的迁移文件:
class RemoveColumn < ActiveRecord::Migration
def up
remove_column :blogs, :homeurl
end
end
这将返回以下错误:
undefined method "to_sym" for nil:NilClass/db/migrate/20150727201931_remove_columns.rb:3:in "up"
NoMethodError: undefined method "to_sym" for nil:NilClass
我尝试将数据类型添加到列,我得到相同的“to_sym”错误。我也试过删除控制台中的列,同样的错误。
有没有办法删除没有数据类型的列?或者有没有办法将数据类型添加到不存在的列中?
【问题讨论】:
-
SQLite3::SQLException: near "DROP": syntax error(来自下面的评论)似乎您实际上并没有使用 MySQL。
标签: ruby-on-rails ruby sqlite