1

Amazonのデータベースには現在データがありません(私はウェブアプリケーションを作っていますが、まだ開発中です)、それを削除し、スキーマを変更して再度バックアップします。過去数回、私はこれをやった、私は完全に私のelasticbeanstalkアプリを再作成したが、より良い方法があるように思える。 Pythonは Elasticbeanstalkでテーブルを削除し、Amazon RDSで再作成するには?

を移行manage.pyの

  • のpython manage.pyのmakemigrationsを "dropdbのデータベース名"

    1. し、 "createdbのデータベース名":私のローカルマシン上で、私は、次の手順を実行します私がデータベースを削除し、アプリケーション全体を削除せずにオンラインに戻すために私がamazonで行うことができるようなものはありますか?しばらく前にRDSインスタンスを削除して新しいインスタンスを作成しようとしたとき、私はelasticbeanstalkに問題がありました。

  • 答えて

    3

    これを達成する最も簡単な方法は、RDS DBへのアクセス権を持つEC2インスタンスの1つにSSHを接続し、そこからDBに接続することです。あなたのpythonスクリプトが設定されたDBにアクセスするためにあなたのアプリの設定を読むことができることを確認するか、DBホスト名の引数を追加してください。 DBを削除して作成するには、DBに接続するために必要な引数を追加するだけです。たとえば:

    $ createdb -h <RDS endpoint> -U <user> -W ebdb

    はまた、DBが空のときRDSスナップショットを作成し、RDSインスタンスのアクションは時間または移行最新のスナップショットでポイントツー復元を使用することができます。

    +0

    コメントをいただきありがとうございます。私はデータベースを削除して作成することができましたが、今はmanage.pyを実行する際に問題があります。 EC2インスタンスでmanage.pyを実行しようとすると、自分の環境変数が見つかりません - これはなぜでしょうか?私は/ opt/python/current/envをチェックして変数を見ることができますが、私がPythonシェルに入り、 'os.environ'を実行するとリストには表示されません。 – TH22

    +0

    環境変数はアプリケーションにロードされますが、インスタンスにSSHを実行するとロードされません。あなたの環境変数をロードするには 'source/opt/python/run/venv/bin/activate && source/opt/python/current/env'を実行するか、少なくとも後者を実行してみてください。 – quezacoatl

    関連する問題