【发布时间】:2011-04-24 08:00:20
【问题描述】:
我创建了 2 个模型并运行了迁移,对每个模型都尝试了一些工作,现在我想重新开始并以不同的方式处理它们。我是 Rails 新手,从未尝试删除/删除数据库表(除了在迁移它们后立即回滚它们)。
谢谢!
【问题讨论】:
-
查看问题 [Rails - 如何重新创建数据库][1] 的最佳答案。 [1]:stackoverflow.com/questions/4116067/…
我创建了 2 个模型并运行了迁移,对每个模型都尝试了一些工作,现在我想重新开始并以不同的方式处理它们。我是 Rails 新手,从未尝试删除/删除数据库表(除了在迁移它们后立即回滚它们)。
谢谢!
【问题讨论】:
要在迁移期间删除表,您可以rails g migration DropUsers
class DropUsers < ActiveRecord::Migration
def up
drop_table :users
end
def down
# recreate table logic here
end
end
您也可以从 Rails 控制台删除表
ActiveRecord::Migration.drop_table(:users)
仅供参考,如果您想删除脚手架创建的代码,rails destroy scaffold User
【讨论】:
创建另一个迁移并在 self.up 中
drop_table :tablename
【讨论】:
如果您从未提交更改或部署应用程序,您可以使用数据库控制台(假设它是 sqlite3 类型 sqlite3 进入 shell 控制台)或数据库管理简单地删除模型文件并从数据库中删除表图形用户界面。
否则,您将需要使用drop_table 迁移来反映生产系统上的更改。
【讨论】:
查看问题的最高答案Rails - How to ReCreate the database
【讨论】: