0

私の django プロジェクトには、2 つのモデル (2 つの mysql テーブル) を処理するアプリケーションがありますが、以前のモデルの 1 つを使用して新しいアプリケーションを作成する方がよいことに気付きました。問題は、南でどうやってそれを行うことができるかということです。私は南なしで別の方法を知っていて、それは新しいアプリケーションsyncdbを作成し、シェル/pythonスクリプトを使用して古いテーブルから新しいテーブルにデータを移動し、最後に古いテーブルを削除することで構成されています。でも私は紳士でスタイリッシュになりたいです :D

前もって感謝します

4

1 に答える 1

3

基本的に、南への移住について説明したことを行います。

  1. スキーマを定義するための初期移行を作成する
    schemamigration <new_app_name> --initial
  2. データ移行を作成して、あるアプリケーションから別のアプリケーションにデータをコピーします 。メソッドdatamigration <new_app_name> <migration_name> で作成されたファイルを変更して、.forward() .backward()データの移動方法を定義する必要があります。

  3. 最初のアプリケーションでスキーマの移行を作成して、テーブルを削除します schemamigration <original_app_name> -auto

元のアプリにデータが存在する必要があるため、migrate を呼び出すときに、最初に新しいアプリを適用し、次に元のアプリを適用します。

于 2013-11-05T20:13:34.450 に答える