反向工程ORM

时间:2010-04-15 01:18:40

标签: database orm database-schema

给定具有给定模式的[mysql]数据库,是否可以为其生成ORM接口?无论是php,python还是perl都没关系。

换句话说,我有一个数据库,我不得不问几个问题。虽然我可以制作一堆SQL查询(好吧,几十个),但想想的方式会更有趣。

这是一个有效的问题吗?我没有ORM的设计背景,但我使用了一些(django,symfony等)。

2 个答案:

答案 0 :(得分:3)

Django的ORM会为你做这个(或者至少它会为你开始这个过程)。

只需像往常一样设置django应用程序(包括数据库连接设置),然后执行以下操作:

$ python manage.py inspectdb > models.py

我这样做了一次,以帮助我理解我负责维护的遗留(php)网站数据库。这是一项小工作,但最终我能够使用django管理站点来管理它(该项目被搁置,但这是另一个故事)。

请参阅:http://docs.djangoproject.com/en/dev/howto/legacy-databases/

答案 1 :(得分:0)

我不确定你究竟在问什么,但我怀疑答案是“肯定的,你可以在现有数据库中指出一个ORM工具并找回一些有用的类”

作为一种可以(有点)执行此操作的PHP ORM工具,我们会想到Doctrine。如果您的模式具有合理的名称,那么最好为您发现关系等等。

不确定这实际上是值得的,但如果你很好奇,为什么不给它一个旋转?