给定具有给定模式的 [mysql] 数据库,是否可以为其生成 ORM 接口?不管它是 php、python 还是 perl。
换句话说,我有一个数据库,我必须问它几个问题。虽然我可以制作一堆 SQL 查询(好吧,几十个),但这样想起来更有趣。
这是一个有效的问题吗?我没有 ORM 的设计背景,但我使用过一些(django、symfony 等)。
给定具有给定模式的 [mysql] 数据库,是否可以为其生成 ORM 接口?不管它是 php、python 还是 perl。
换句话说,我有一个数据库,我必须问它几个问题。虽然我可以制作一堆 SQL 查询(好吧,几十个),但这样想起来更有趣。
这是一个有效的问题吗?我没有 ORM 的设计背景,但我使用过一些(django、symfony 等)。
Django 的 ORM 将为您执行此操作(或者至少它会为您启动该过程)。
只需像往常一样设置一个 django 应用程序(包括数据库连接设置),然后执行以下操作:
$ python manage.py inspectdb > models.py
我这样做一次是为了帮助我理解我负责维护的遗留 (php) 网站数据库。这是一个小工作,但最终我能够使用 django 管理站点来管理它(该项目被搁置,但这是另一回事)。
请参阅:http ://docs.djangoproject.com/en/dev/howto/legacy-databases/
我不确定您到底在问什么,但我怀疑答案是“当然,您可以将 ORM 工具指向现有数据库并取回一些有用的类”
Doctrine 是一个 PHP ORM 工具,可以(某种程度上)做到这一点。如果您的模式对事物有合理的名称,则最好为您发现关系等。
不确定它是否真的值得付出努力,但如果你很好奇,为什么不试一试呢?