【问题标题】:How to maintain SQL scripts when developing an application working against many databases在开发针对多个数据库的应用程序时如何维护 SQL 脚本
【发布时间】:2011-03-12 19:50:26
【问题描述】:

想象一个应该与不同数据库供应商合作的应用程序。众所周知,SQL(尤其是 DDL)的语法是不可移植的。您如何处理维护 SQL 脚本?

到目前为止,我看到了三个选项:

  • 以其中一个数据库的格式存储 SQL,并拥有一个自动从一种语法转换为另一种语法的工具(你知道这样的工具吗?)

  • 以某种人工语言存储 SQL,并拥有一个能够按需生成供应商特定 SQL 的工具(这里有什么建议吗?)

  • 以许多数据库格式存储 SQL,忽略冗余(这是最糟糕的,不是吗?)

    你推荐他们中的任何一个吗?你有更好的主意吗?

开发环境试图遵循持续集成原则,因此自动化是这里的一个关键特性。

【问题讨论】:

    标签: sql continuous-integration ddl


    【解决方案1】:

    看看 Liquibase(这实际上是您在列表中的第二项)

    http://www.liquibase.org

    它并不完美(例如它不支持检查约束)但它非常有用

    【讨论】:

      【解决方案2】:

      本视频展示了使用 Subsonic 项目 http://subsonicproject.com/docs/Using_SimpleRepository 及其数据迁移功能的解决方案。策略是使用通用语言并将其应用于不同的数据库。

      希望这就是你要找的东西

      【讨论】:

        【解决方案3】:

        使用某种具有模式生成功能的 ORM 框架。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-10
          • 1970-01-01
          • 2011-05-18
          • 2023-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多