バックアップがなく、完全に失われた非常に大規模で複雑な Web サイトを回復/再構築する任務を負っています。私はすべての PHP ファイルの完全な (できれば) コピーを持っていますが、データベース構造がどのように見えるかはまったくわかりません (確かに少なくとも 50 ほどのテーブルがあることを除けば、かなり複雑です)。すべてのデータが失われ、元の開発者は約 1 年前に激しい確執で解雇されました (そう聞いたことがあります)。私はかなり長い間 PHP 開発者をしており、すべてを整理し、アプリケーション/サイトを元に戻して実行することに十分慣れていますが、データベースがないと非常に苦労します。それで...すべての受信クエリをキャプチャし、要求されたフィールドとテーブル名を使用して構造を再構築しようとするソフトウェアへのMySQL接続をシミュレートする方法はありますか?
アプリケーションをクリックして開始すると、次のクエリが渡されるように思えます
SELECT
name
,phone
fromcontact_table
WHEREcontact_id
='1'
...その情報を取得し、それらの名前を持つフィールドが少なくとも 4 つある「contact_table」というテーブルがあると仮定する方法があるはずです...それを繰り返し行うことができれば、検出されたデータにサンプルデータを追加するたびにフィールドを作成してから別のページに移動すると、最終的にデータベース構造の大部分 (少なくともすべての公開部分) の大まかなコピーが得られるはずです。これは、すべてのコードを手動で読み取ってすべての参照を引き出し、すべての結合とサブクエリを読み取り、すべて手動で並べ替えるよりもはるかに簡単です。
誰もこれを試したことがありますか?PHPコードからデータベース構造をリバースエンジニアリングするための他のアイデアはありますか?