我刚刚继承了一个非常旧的应用程序(建立在 Windows 95 上 - 适用于鉴赏家的 Magic7),现在支持最近的 mssql db(2012)。这不是它最初设计的数据库系统,因此它带有一些非常奇怪的表设计。
我正在寻找一个 python ORM 来帮助我轻松地谈论这件事。也就是说,我正在使用一个 ORM,例如,它可以轻松地合并 2 个表,就好像它们是一个表一样。
例如,我可能有表 BILLS 和 BILLS_HISTORY,具有不同的列名,甚至可能是不同的列类型,所以严格来说不同,但语义上包含相同的信息(相同的列数,语义上相同的值)。
我正在寻找一种 ORM,它让我只定义一个 Bill 对象,映射到两个表,并为我提供正确的钩子来决定事情的去向,以及在需要调整时如何编写它们。
另一个例子:说我有一个对象叫好。如果一件商品已完成,则进入 GOODS 表,如果尚未完成,则进入 GOODS_UNFINISHED 表。我正在寻找一个可以读取两个表的商品对象,并根据它来自哪个表来给我一个设置为正确值的完成属性(如果属性设置,则使用钩子将其从一个表更改为另一个表某种程度上来说)。
我对python很好,但我之前没有做过太多这样的数据库工作,所以我的知识有限。我可以并且可能最终会编写自己量身定制的 ORM,但这似乎是浪费时间,因为这些东西将在 6 个月内完全过渡到新的东西时被丢弃。有谁知道具有这种功能的 ORM 吗?我打算学习 ponyORM 和 SQLAlchemy,但我觉得我需要几天时间才能得出结论,它们是否适合我的用例。所以我想我也会问社区......
干杯