django コード用の git リポジトリがあります。Python バージョン 2.6 および django バージョン 1.4。今日、誤って自宅のコンピューターから python 2.7.3 で django アプリを起動しようとしたところ、奇妙なことが起こりました。データ テーブルからすべてのデータを失いました。バージョンの衝突が原因なのか、それとも他の何かなのかはわかりません。テーブルが空である理由を調べるにはどうすればよいですか? それはmysqlの問題でしょうか?これをデバッグするための最良の戦略は何ですか? データはそれほど重要ではありませんが、これが再び発生することは望ましくありません。
2 に答える
テーブルが空である理由を調べるにはどうすればよいですか? それはmysqlの問題でしょうか?これをデバッグするための最良の戦略は何ですか? データはそれほど重要ではありませんが、これが再び発生することは望ましくありません。
Django のインストールを完全にデバッグする以外に私が確認できる唯一の方法は、次のlog
機能を使用して、MySQL をすべてのログに記録するように設定することmy.cnf
です。
[mysqld]
log = /var/log/mysql/queries.log
次にデータを復元し、ログが有効になるように MySQL を再起動し、Python 2.7.4 で再試行します。データは再び消えるはずですが、今度はログ ファイルでどのコマンドが発行されたかがわかります。
これらのコマンドを使用すると、それらが Django コードのどこにあるかを試すことができます。
完全な消失はモデル構造の再生成のように見えます。これは、何らかの形でシステムがデータがそこにあると認識しなかったことを意味します。これを引き起こす Python または Django の問題を認識していません。
フラッシュ/リセットコマンドを発行しただけではありませんか?
私はあなたが何を意味するのか完全には理解していません
今日、自宅のコンピューターから誤ってPython 2.7.3でdjangoアプリを起動しようとしましたが、何か奇妙なことが起こりました。」
しかし、すでに実行されていることを知らなかったシステムでsyncdbを実行できた可能性はありますか?syncdbはデータを保持しません。
スキーマの変更を計画している場合は、移行にSouthを使用することを検討する必要があります。