すでにユーザーを登録しているライブのDjangoサイトがあります。元のサイトとは異なる新しいバージョンでサイトを更新しようとしています。アイデアは似ていますが、モデルが異なります。
現在のユーザーを新しいサイトにとどめるにはどうすればよいですか?
サウスは良い解決策かもしれないと聞きましたが、古いサイトにはインストールされていません。この場合、南を使用することは可能ですか?
助けてくれてありがとう!
すでにユーザーを登録しているライブのDjangoサイトがあります。元のサイトとは異なる新しいバージョンでサイトを更新しようとしています。アイデアは似ていますが、モデルが異なります。
現在のユーザーを新しいサイトにとどめるにはどうすればよいですか?
サウスは良い解決策かもしれないと聞きましたが、古いサイトにはインストールされていません。この場合、南を使用することは可能ですか?
助けてくれてありがとう!
南に+1、しかし...
もっと情報が必要です!モデルに根本的な変更を加えていますか、それともここかそこにフィールドを追加または削除していますか?
Southはかなり急進的な移行を処理できますが、カスタム移行コードを作成する必要があります。個人的には、新しいフィールドを追加する場合はSouthを使用しますが、この種のより過激なものには使用しません。
スキーマが大幅に変更され、サイトが完全に再編成された場合は、独自のスクリプトを作成して古いオブジェクトを読み取り、新しいオブジェクトを作成します。本番データベースのコピーを作成し(pg_dump、mysqldumpなどを介して)、ローカルマシンにロードします。ここで、カスタム変換スクリプトをテストおよびデバッグできます。「古いモデル」と「新しいモデル」の名前が異なることを確認し、すべてをsettings.pyに保持して、いつでもすべてを読み書きできるようにします。
移行スクリプトを作成してテストします。その後、別のチェンジリストを作成して古いオブジェクトをすべて削除し、必要に応じて対応するソースコードを削除できます。