我添加了一个我认为我将需要的表格,但现在不再计划使用它。我该如何移除那张桌子?
我已经运行了迁移,所以这个表在我的数据库中。我认为rails生成迁移应该能够处理这个问题,但我还没有弄清楚如何处理。
我试过了:
rails generate migration drop_tablename
但这只是产生了一个空迁移。
在Rails中删除表的“官方”方式是什么?
我添加了一个我认为我将需要的表格,但现在不再计划使用它。我该如何移除那张桌子?
我已经运行了迁移,所以这个表在我的数据库中。我认为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
其他回答
替代引发异常或试图重新创建一个现在空的表-同时仍然启用迁移回滚,重做等-
def change
drop_table(:users, force: true) if ActiveRecord::Base.connection.tables.include?('users')
end
删除表/迁移
运行: $ rails生成迁移DropTablename
$ rails生成迁移DropProducts
你能做的最好的办法就是
rails g migration Drop_table_Users
然后执行以下操作
rake db:migrate
执行命令:-
rails g migration drop_table_name
然后:
rake db:migrate
或者如果你使用的是MySql数据库,那么:
登录数据库 显示数据库; 显示表; table_name下降;
如果您想删除一个特定的表,您可以这样做
$ rails db:migrate:up VERSION=[Here you can insert timestamp of table]
否则,如果您想删除所有数据库,您可以这样做
$rails db:drop