我添加了一个我认为我将需要的表格,但现在不再计划使用它。我该如何移除那张桌子?

我已经运行了迁移,所以这个表在我的数据库中。我认为rails生成迁移应该能够处理这个问题,但我还没有弄清楚如何处理。

我试过了:

rails generate migration drop_tablename

但这只是产生了一个空迁移。

在Rails中删除表的“官方”方式是什么?


当前回答

Rails迁移drop_users 编辑迁移

    class DropUsers < ActiveRecord::Migration
      def change
        drop_table :users do |t|
          t.string :name
          t.timestamps
        end
      end
    end

rake db: migrate

其他回答

打开rails控制台

ActiveRecord::Base.connection.execute("drop table table_name")

删除表/迁移

运行: $ rails生成迁移DropTablename

$ rails生成迁移DropProducts

首先,生成一个具有任意名称的空迁移。这样做很重要,因为它创建了适当的日期。

rails generate migration DropProductsTable

这将在/db/migrate/目录下生成一个。rb文件,如20111015185025_drop_products_table.rb

现在编辑该文件,如下所示:

class DropProductsTable < ActiveRecord::Migration
  def up
    drop_table :products
  end

  def down
    raise ActiveRecord::IrreversibleMigration
  end
end

我唯一添加的东西是drop_table:products和raise ActiveRecord::IrreversibleMigration。

然后运行rake db:migrate,它会帮你删除这个表。

Run

rake db:migrate:down VERSION=<version>

其中<version>是您想要恢复的迁移文件的版本号。

例子:-

rake db:migrate:down VERSION=3846656238

执行命令:-

rails g migration drop_table_name

然后:

rake db:migrate

或者如果你使用的是MySql数据库,那么:

登录数据库 显示数据库; 显示表; table_name下降;