Rails:回滚错误
Rails: Rollback Mistake
我创建了一个名为 "property" 的 table,但我还没有迁移它。然后我想删除 table,所以当我按如下方式执行 rake db:rollback
时。我之前根本不想删除的 table 现在已恢复。我应该如何恢复我的模型 "comment" 而不是只删除最后一个模型 "property"。
一些评论说做 "redo" 或 "run migrate" 但如果我做 rake db: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
后,您就对数据库进行了更改。在本例中,它删除了您的 comments
table,如您在输出中所见:drop_table(:comments)
。数据已经消失了。我们都至少去过那里一次。
运行 rake db:migrate
将恢复 comments
table 结构,但不会恢复其中的数据。在这种情况下,如果您想达到不迁移新 table property
的地步,您可以 运行 rake db:migrate
到 运行 all new迁移,然后 rake db:rollback
回滚 property
.
的迁移
我创建了一个名为 "property" 的 table,但我还没有迁移它。然后我想删除 table,所以当我按如下方式执行 rake db:rollback
时。我之前根本不想删除的 table 现在已恢复。我应该如何恢复我的模型 "comment" 而不是只删除最后一个模型 "property"。
一些评论说做 "redo" 或 "run migrate" 但如果我做 rake db: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
后,您就对数据库进行了更改。在本例中,它删除了您的 comments
table,如您在输出中所见:drop_table(:comments)
。数据已经消失了。我们都至少去过那里一次。
运行 rake db:migrate
将恢复 comments
table 结构,但不会恢复其中的数据。在这种情况下,如果您想达到不迁移新 table property
的地步,您可以 运行 rake db:migrate
到 运行 all new迁移,然后 rake db:rollback
回滚 property
.