ruby-on-rails - 删除模型和表,以便可以在 Rails 中重新开始

标签 ruby-on-rails models polymorphic-associations rails-migrations destroy

我在项目开始时创建了一个注释模型,但现在意识到我需要创建一些多态关系,以便我也可以将注释与许多其他模型一起使用。考虑到我已经拥有的代码等,我认为从头开始对我来说可能更容易,这样我就可以为我的新多态世界以正确的方式构建所有 View / Controller 等。

我看到我可以运行 rails destroy model comments要实现这一点,但我有两个问题:

  • 这会删除模型、迁移和实际的数据库表吗?
  • 当我想创建一个具有完全相同名称的新模型时有什么影响?
  • 最佳答案

    为了完全删除所有列 &
    迁移创建的表,您需要运行:
    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
    

    而且,您现在可以创建一个具有相同名称的新模型,因为没有前一个模型的痕迹:)

    关于ruby-on-rails - 删除模型和表,以便可以在 Rails 中重新开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43353401/

    相关文章:

    ruby-on-rails - 我可以在多对多关系中添加到现有的连接表模型吗?

    ruby-on-rails - 冗余嵌套重复运算符

    ruby-on-rails - 在 ruby​​ 中查找数组和事件记录变量之间的相同值

    c++ - 对从文件读取到结构中的结构感到困惑

    ruby-on-rails - Rails - 可排序和突出显示的列

    python - 改变了 Django 模型。我为 DateField 提供了一次性的 default = datetime.date。发现无效。去掉了字段还是不能迁移

    asp.net-mvc - 使用助手 @Html.EditorForModel() 忽略一些字段

    ruby-on-rails - 具有多态资源的 ruby​​ geocoder gem

    ruby-on-rails - 多态关联 foreign_type 使用 STI 类设置祖先类型而不是当前类型

    php - 多态关系和同名模型和 morphTo 函数