我读了很多关于它的内容,但我仍然无法摆脱我的数据库中的一张表:
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
而这张桌子终于消失了。