Sim*_*per 3 ruby-on-rails models polymorphic-associations rails-migrations destroy
我在项目开始时创建了一个注释模型,但现在我已经意识到我需要创建一些多态关系,所以我也可以使用其他一些模型的注释.考虑到我已经拥有的代码等,我认为我可能更容易从头开始,所以我可以以正确的方式为我的新多态世界构建所有视图/控制器等.
我知道我可以rails destroy model comments
实现这个目标,但我有两个问题:
cat*_*h22 13
要完全删除迁移已创建的所有列和表,您需要运行:
rails db:migrate:down VERSION=012345678
(其中012345678应该是您的迁移的版本号)
.............................
rails destroy model Comments
将删除您的模型,待定迁移,测试和固定装置
所以摧毁它与生成相反:
$ bin/rails destroy model Oops
invoke active_record
remove db/migrate/20120528062523_create_oops.rb
remove app/models/oops.rb
invoke test_unit
remove test/models/oops_test.rb
remove test/fixtures/oops.yml
Run Code Online (Sandbox Code Playgroud)
而且,您现在可以创建一个具有相同名称的新模型,因为没有您之前的模型的痕迹:)
如果您在创建模型后已经迁移了数据库:
首先,回滚对数据库的更改:
rake db:migrate:down VERSION=20100905201547
Run Code Online (Sandbox Code Playgroud)
其中version是标识迁移的时间戳。例如,如果您的迁移文件名为20170411182948_create_comments.rb,那么您的版本参数应为20170411182948
然后运行
rails destroy model comments
Run Code Online (Sandbox Code Playgroud)
第一个命令将从实际数据库中删除该表。第二个命令将删除模型和迁移文件。确保按该顺序运行它们,因为第一个命令依赖于迁移文件来执行回滚(在第二个命令期间被删除)。
如果您还没有迁移数据库:
该表不会被添加到您的数据库中。您可以继续手动删除模型和迁移文件或使用 destroy 命令。