南を使用して、Mercurialを使用して開発と本番の両方でデータベースの変更を管理したいと思います。しかし、どうしたらいいのかわからない!
南をまったく使わないプロジェクトがあるとしましょう。それは、生産と開発の両方で水銀と同期しています。すべてが正常に機能しています!
さて、いつかアプリケーションテストのモデルに変更を加えたいと思います。ですから、私の開発環境にいるのは
1. pythonmanage.pyconvert_to_southテスト 2.pythonmanage.py移行
モデルを変更してから
3.pythonmanage.pyスキーマ移行テスト--auto 4.pythonmanage.py移行
今、私はすべてを水銀にコミットします
5. hg addremove 6. hgcommit-m「南に変換されて変更されたもの」 7.hgプッシュ生産
uatではすべてが正常に機能しているようですが、本番環境では機能させることができません:(
したがって、正しいワークフローは、本番環境にログインして変更を適用することだと思いました。
1.hgアップデート
次に、アプリケーションを移行するだけです
2.pythonmanage.py移行
しかし、これは機能していません。「test_table」という奇妙なエラーがすでに存在します(何らかの理由で、南はテーブルを再度クレートしたいと考えています)。また、Pythonのmanage.py移行テスト(移行を行う前に偽の0001)を実行する必要があるDjangoプロジェクト、開発、本番環境への南の追加をここで読みましたが、これも機能しませんでした(テーブルがないためにエラーが発生しました)またはそのようなもの)。
それで ?私は何をすべきか ?開発と環境の両方に移行を適用する正しい方法は何ですか?アプリケーションの/migrations/ディレクトリをMercurialから外して、実行する必要があります
pythonmanage.pyconvert_to_southテスト と python manage.py schemamigration test --auto
開発と生産の両方に?