最近のmssql db(2012)に裏打ちされた、非常にレガシーなアプリケーション(Windows 95上に構築された-愛好家向けのMagic7)を継承しました。これは、最初に設計された db システムではないため、テーブルの設計が非常に奇妙なものになっています。
このことと簡単に話すのに役立つpython ORMを探しています。つまり、たとえば、2 つのテーブルをあたかも 1 つのテーブルであるかのように簡単にマージできる ORM を求めています。
たとえば、テーブル BILLS と BILLS_HISTORY があり、列名が異なり、おそらく列の種類も異なるため、厳密に言えば異なりますが、基本的には同じ情報 (同じ列数、基本的に同一の値) を含んでいます。
Bill オブジェクトを 1 つだけ定義し、両方のテーブルにマップできる ORM を探しています。これにより、どこに移動するか、微調整が必要なときにどのように記述するかを決定するための適切なフックが得られます。
別の例: 私が商品と呼ばれるオブジェクトを持っているとします。商品が完成した場合は GOODS テーブルに入り、完成していない場合は GOODS_UNFINISHED テーブルに入ります。両方のテーブルを読み取ることができ、どちらのテーブルから来たのかに応じて適切な値に設定された完成したプロパティを提供する商品オブジェクトを探しています (プロパティが設定されている場合は、あるテーブルから別のテーブルに変更するためのフックを使用)何らかの方法で)。
私はPythonには問題ありませんが、以前はそのようなdb作業をあまり行っていないため、知識は限られています。私は自分のテーラーメイドの ORM を書くことができたし、最終的には書くことになるかもしれませんが、何か新しいものへの完全な移行が行われたときに 6 か月で破棄されるものにとって、それは時間の無駄のように思えます。そのような機能を備えたORMを知っている人はいますか? 私は ponyORM と SQLAlchemy を研究する予定ですが、それらが私のユースケースに適しているかどうかという結論に達するまでに数日かかると感じています。それで、コミュニティにも聞いてみようと思いました...
乾杯