我读了很多关于它但我仍然无法摆脱我在数据库中的一个表:
create_table "votes", force: true do |t|
t.integer "votable_id"
t.string "votable_type"
t.integer "voter_id"
t.string "voter_type"
t.boolean "vote_flag"
t.string "vote_scope"
t.integer "vote_weight"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "votes", ["votable_id", "votable_type", "vote_scope"],
name: "index_votes_on_votable_id_and_votable_type_and_vote_scope"
add_index "votes", ["voter_id", "voter_type", "vote_scope"],
name: "index_votes_on_voter_id_and_voter_type_and_vote_scope"
我没有创建此表的迁移。但我认为此表来自先前安装的acts_as_votable gem。但我可能已手动删除此迁移...
我尝试drop_table如下,但它不起作用。即使我有这个迁移文件,投票表仍然存在:
class DropVotesTable < ActiveRecord::Migration
def up
drop_table :votes
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
如何从 schema.rb 文件中删除此表?
编辑:解决方案
即使在运行迁移后,表仍然在我的 schema.rb 中,所以我使用了rails控制台:
rails c
ActiveRecord::Migration.drop_table(:votes)
rake db:migrate
这张桌子终于消失了。