Django模型非常酷,因为您在代码中定义了所有模型/表,然后将其与数据库同步。这样,当您更新生产服务器时,只需运行迁移/同步脚本,就不会忘记更新任何表。
我现在正在研究的项目不是Django或基于Python的,它是用PHP编写的,所有查询都是用直接SQL编写的(没有ORM)。每次我们进行更改时,我们都有许多需要更新的数据库。现在我们基本上是复制和粘贴我们的SQL脚本并在需要运行它们的地方运行它们,或者如果它是一个很大的变化,我们可能会使用脚本。但问题是,有时我们忘记包含一些SQL。
但是,如果我们有一个基于代码的解决方案,那么它会自动通过我们的推送进行检查,我们不会忘记运行它。所以......我正在寻找一个能让我们用PHP定义所有模型的解决方案,但让我们继续编写直接SQL而不使用ORM(项目已有10年历史,实施工作量太大了)现在是一个ORM)。如果它可以将我们现有的数据库转换为PHP模型,那就太好了。
现有解决方案吗?
答案 0 :(得分:3)
这可能会花费你,但这是我们用于旧项目的。
<强> SQLyog的强>
DBDeploy - Opensource
PHING&amp; DBDeploy - 操作方法
答案 1 :(得分:2)
我没有使用基于PHP的系统和Django提供的出色模型支持,但这个项目看起来很有希望:Django-like PHP querying interface
答案 2 :(得分:2)
我猜你可以使用Doctrine2。支持本机SQL http://www.doctrine-project.org/docs/orm/2.0/en/reference/native-sql.html