Ruby on rails Rails:回滚错误

Ruby on rails Rails:回滚错误,ruby-on-rails,ruby,rollback,dbmigrate,Ruby On Rails,Ruby,Rollback,Dbmigrate,我已经创建了一个名为“property”的表,但还没有迁移它。然后我想删除该表,所以当我执行以下操作时,rakedb:rollback。我以前创建的表(我根本不想删除)现在被恢复。我应该如何恢复我的模型“comment”,而只删除最后一个模型“property” 有些注释说要执行“重做”或“运行迁移”,但如果我执行rakedb:migrate,我觉得它会永久删除注释模型。我错了吗?什么是恢复我的评论模型的正确解决方案 :~/workspace (revoke) $ rails g model p

我已经创建了一个名为“property”的表,但还没有迁移它。然后我想删除该表,所以当我执行以下操作时,
rakedb:rollback
。我以前创建的表(我根本不想删除)现在被恢复。我应该如何恢复我的模型“comment”,而只删除最后一个模型“property”

有些注释说要执行“重做”或“运行迁移”,但如果我执行
rakedb:migrate
,我觉得它会永久删除注释模型。我错了吗?什么是恢复我的评论模型的正确解决方案

:~/workspace (revoke) $ rails g model property title address note price$ priceW 
Running via Spring preloader in process 3066
      invoke  active_record
      create    db/migrate/20160517222114_create_properties.rb
      create    app/models/property.rb
      invoke    test_unit
      create      test/models/property_test.rb
      create      test/fixtures/properties.yml
:~/workspace (revoke) $ bundle exec rake db:rollback
== 20160506122941 CreateComments: reverting ===================================
-- drop_table(:comments)
   -> 0.0011s
== 20160506122941 CreateComments: reverted (0.0096s) ==========================

完成
rake db:rollback
之后,就对数据库进行了更改。在本例中,它删除了您的
注释
表,您可以在输出中看到:
删除表(:注释)
。数据已经不见了。我们都去过那里至少一次


运行
rakedb:migrate
将恢复
注释
表结构,但不恢复其中的数据。在这种情况下,如果您想达到新表
属性
未迁移的程度,您可以运行
rake db:migrate
来运行所有新迁移,然后运行
rake db:rollback
一次来回滚
属性
的迁移,一旦您完成了
rake db:rollback
,您已对数据库进行了更改。在本例中,它删除了您的
注释
表,您可以在输出中看到:
删除表(:注释)
。数据已经不见了。我们都去过那里至少一次


运行
rakedb:migrate
将恢复
注释
表结构,但不恢复其中的数据。在这种情况下,如果您想达到新表
属性
未迁移的程度,可以运行
rake db:migrate
来运行所有新迁移,然后运行
rake db:rollback
一次来回滚
属性
的迁移,谢谢您的回答!是否仍有恢复注释表中数据的方法?遗憾的是,没有标准方法。如果您有日志文件,您可能可以从那里恢复
注释的内容,但这需要一些搜索。您需要找到发布到
/comments
路由(或
/parent/comments
如果嵌套)的日志条目,并查找操作的
参数
散列。听起来非常困难。。但是非常感谢你提供的信息~!这只取决于你有多想要回这些数据。大多数时候,尤其是在开发环境中,这不值得付出努力。但是,如果您处于生产环境中,您可能需要完成所有这些工作来恢复关键数据。谢谢您的回答!是否仍有恢复注释表中数据的方法?遗憾的是,没有标准方法。如果您有日志文件,您可能可以从那里恢复
注释的内容,但这需要一些搜索。您需要找到发布到
/comments
路由(或
/parent/comments
如果嵌套)的日志条目,并查找操作的
参数
散列。听起来非常困难。。但是非常感谢你提供的信息~!这只取决于你有多想要回这些数据。大多数时候,尤其是在开发环境中,这不值得付出努力。但是,如果您处于生产环境中,则可能必须完成所有这些工作才能恢复关键数据。