将SQL部署脚本构建到应用程序中?

当我们更新我们客户的软件安装时,我们现在有一个相当手动,烦琐,杂乱的&运行SQL部署脚本的容易出错的方式。我们正在考虑寻找第三方SQL部署工具来自动执行此过程。将SQL部署脚本构建到应用程序中?

但是,我正在推动构建我们自己的SQL部署工具到应用程序本身的想法。这将是简单的 - 在应用程序启动时,它会:

1)检查现有的数据库架构版本(例如“35”)

2)核对“最新的”数据库架构版本(例如。 “38”)

3)检索资源文​​件(有关SQL部署脚本例如 “36”, “37”, “38”)

4)锁定数据库和运行每个需要的SQL部署脚本

请注意,这仍然会由IT技术人员运行以防万一发生任何错误,而不是最终用户。

这似乎是非正统的,但我真的没有看到任何问题。你的想法?

回答:

我没有看到任何遗传错误。 在我工作过的公司,他们构建了一个自定义的SQL脚本安装程序,允许它们自动将更改应用到数据库,在必要时回滚更改,并且保留所应用的版本的标签。

无论应用程序需要什么结果,您都需要设置约定(即数据库版本应该有这个文件夹结构等),并确定将用于运行该工具的需求和过程你将如何实现它)

回答:

不建立你自己的。定制解决方案的问题太常见了。

您正在寻找数据库迁移工具,我的建议是liquibase。它可以从命令行运行或集成到构建过程中。对我来说特别有价值的独特功能是生成SQL升级(和降级)脚本,这些脚本在支持生产安装时经常需要我们。

对于替代迁移工具更多更详细的列表,请参阅以下答案:

  • Migrations for Java

以上是 将SQL部署脚本构建到应用程序中? 的全部内容, 来源链接: utcz.com/qa/265343.html

回到顶部