1

こんにちは、github を使用して pythonanywhere でホストされているアプリがあり、ローカル マシンでアプリを改善しましたが、データベースに影響を与えずにオンライン アプリを更新する方法がわかりません。

前もって感謝します?

4

1 に答える 1

2

ローカル PC 上のデータベース (新規または変更済みのmodels.py ) に変更を加え、既存のデータを壊さずに PythonAnywhere 上の既存のデータベースに変更を適用する方法を知りたいということですか?

使用しているdjangoのバージョンによって異なります。バージョン 1.6 以前では、 southというツールを使用します。1.7 以降の新しいバージョンでは、組み込みの移行フレームワークを使用します。

django-migrations を使用している場合は、非常にシンプルで「問題なく動作する」はずです。最新のコードを PythonAnywhere にプルダウンし、 virtualenv を有効にしてから実行します

python manage.py migrate 

南を使用する必要がある場合は、もう少し複雑です。次のようにする必要があります。

  1. 現在 pythonanywhere にあるコードに一致するコミットに戻る
  2. アプリごとに、実行しますpython manage.py schemamigration appname --initial
  3. 今すぐコードの最新バージョンをチェックしてください
  4. アプリごとに、実行しますpython manage.py schemamigration appname --auto
  5. 新しい移行ファイルをリポジトリにコミットします
  6. PythonAnywhere で最新のコードをプルダウンする
  7. アプリごとに、実行しますpython manage.py mygrate appname --fake 001
  8. 次に実行しますpython manage.py migrate

詳細については、南ドキュメントを参照してください。これはかなりトリッキーな作業なので、最初にデータベースをバックアップしてください!

しかし、うまくいけば、あなたはdjangoの最新バージョンを使用していて、簡単な方法でそれを行うことができます:)

于 2016-02-24T12:31:18.137 に答える