最近私は、不可逆的な移行の傘の下にあるいくつかの移行を書いてきました。しかし、彼らは不可逆的な世界の終わりではありません。あなたが望むなら、それらをロールバックすることができます。私が現時点で持っているシナリオは、1対1の関係を多対多の関係に変えています。これには、列を削除して新しい結合表を作成することが含まれます。 (モデルでは2行だけでなく)。不可逆的な移行 - 中止する代わりに警告と確認をしますか?
私はダウンマイグレーションを中止する代わりに、「このマイグレーションはここにサッカーメッセージを挿入しました。あなたは進んでいますか?Y/N」と言って、マイグレーションをロールバックします。彼らは? if文の中にマイグレーションを置くだけですか?
移行を元に戻すことは不可能で、通常は理由があります(データを復元できないなど)。これらの問題は通常、手動で行うマイグレーションを作成するだけで解決されますか?
私のノービスの気持ちでは、幸せな媒体を持つことはうれしいでしょう。それは賢明ですか?たぶん、私はそれらを最初に非可逆的にする時を理解していないかもしれません。
に参加削除しますあなたのために、データモデルを書く人は、推測するのではなく元の状態に戻す方法を知るために変化します。まったく!だからこそ私はこのオプションがまだ利用可能ではなかったことに少し驚いていました。誰かがあなたが書いた例外を上書きするだけの可能性があるからです。 – Nick
Rubyにはほとんどルールがありません。検討してください:http://gfredericks.com/gfrlog/post/51 私たちは常識、大会、そして良いテストに頼っています:) –