私は1年前にPHPでWebプラットフォームを開発しましたが、そのために作成したデータアクセス層を少し誇りに思っていました。それ以来、同じコンセプトを何度も使い始めました。しかし今、私はそれを次のレベルに引き上げることを考えています。データベースアクセスコード全体を書き直すのではなく、SQLスキーマを解析してDALクラスを単独で生成するツールを作成したいと思います。
コードを生成するためにSQLスキーマから必要な情報は次のとおりです。
* Tables
* Fields
* Fields types
* Foreign keys
確かに、私はいくつかのSQLパーサーを探して、いくつかのものを見つけましたが、これを別の方法で行うことにしました。SQLスキーマ自体からコードを生成する代わりに、データベースの実際のスキーマに従って作成したメタデータからコードを生成します。
私は次のようなことを考えました:
TableName[
FieldA : Type;
FieldB: Type;
]
TableName2[
FieldA : Type, FK(TableName.FieldA);
FieldZ: Type;
]
これは仕様ではありません。私がどのようなことを達成したいのかを示す、簡単な結果です。
ここでの質問は次のとおりです。Pythonには組み込みのAPIがありますか、それとも上記のようにスキーマを定義できる形式を解析するために使用できるサードパーティのライブラリがありますか?私は車輪の再発明をしたくありません、そして私は自分のパーサーを書くことに全く興味がありません、私が欲しいのは基本的で実用的なツールをできるだけ早く手に入れることです。
ありがとう