現在、MySQLデータバックエンドを使用してC++でサーバーソフトウェアを開発中です。私はofficial MySQL/connector library from Oracleを使ってMySQLを操作しています。接続そのものは機能しており、私はそれに問題はありません。
私の問題は、データベースとテーブルのスキーマは、新しいテーブルとカラムが追加され続けるため、しばらくの間変わる傾向があることです。また、同じ理由で終了列が変更されることがあります。時代遅れのサーバーソフトウェアをすばやく認識できるように、データベースが変更されたときに警告を追加したかったのです。
私の最初のアイデアは、データベース(およびテーブルなど)の外観をハードコードし、現在のデータベースがハードコードされたデータと一致するかどうかをチェックすることでした。しかし、私はそれを達成する方法を知りません。私はテーブルが正しいスキーマを持っているかどうかチェックする
- テーブルは、テーブルの列を追加または
- を除去されたかどうかを検出できるようにする要約
が
- を変更されたテーブルの列が追加されましたか削除されました
できるだけC++コードを少なくしました。また、維持するのも非常に簡単です。
必要に応じて追加情報が追加されます。
"必要に応じて追加情報が追加されます。" - !。?それは良い質問がされる方法ではありません –
スキーマのバージョン管理を有効にするために、いくつかのメタ情報を追加 –
πάνταῥεῖ@私はそれをどのように行うだろう – BrainStone