我最近一直在写一些迁移,属于不可逆迁移伞。但他们不是世界末日不可逆转的。如果你愿意,你可以将它们推回去。我目前的情况正在改变一个多对多的关系。它涉及删除一个列并创建一个新的连接表。 (以及模型中的两条线)。不可逆转移 - 警告并确认而不是中止?
我在想,不是中止下移,而是说“这个迁移是[INSERT SCARY MESSAGE HERE],你确定要继续?Y/N”,然后回滚迁移他们选择?只需将迁移放入if语句中即可?
很容易使迁移不可逆转,通常有很好的理由(例如数据无法恢复)。这些问题通常是通过编写一个手动完成的迁移来解决的?
在我的不高兴的心情,它会很高兴有一个幸福的媒介。这是明智的吗?也许我只是不明白什么时候让它们不可逆转。
“这是更安全对于你来说,编写数据模型的人会改变,知道如何转换回以前的状态,而不是猜测“。究竟!这就是为什么我有点惊讶,这个选项已经不可用 - 因为完全有可能有人会重写你写的异常。 – Nick 2010-12-03 02:19:45
Ruby有很少的规则。考虑:http://gfredericks.com/gfrlog/post/51 所以,我们依靠常识,惯例和良好的测试:) – 2010-12-03 02:50:03