1

我读了很多关于它的内容,但我仍然无法摆脱我的数据库中的一张表:

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

而这张桌子终于消失了。

4

0 回答 0