Web 应用程序的更新中心和数据库更改管理



我们有一个使用 Spring/JPA/Hibernate 的 Web 应用程序。目前,我们正在使用 SolidBase 进行数据库更改管理,这在托管部署模型中运行良好 - 但是我们现在正在迁移到非托管部署模型,用户可以在其中下载 Web 应用程序。我们正在为 Web 应用程序构建"更新中心"类型的功能,并试图弄清楚我们应该如何应用数据库更改。

理想情况下,我希望应用程序

在应用程序启动时应用任何挂起的数据库更改,我希望这是我们可以按语法进行编码的东西,但我不想重写 Hibernate 的 SchemaExport 功能来做到这一点。

有没有人对我们如何最好地在应用程序中实现此功能有任何建议、模式或最佳实践?

是否有任何更新中心应用程序库可以解决我们的问题(我找不到一个)?

我在研究这篇文章时发现了这篇文章

http://www.infoq.com/news/upgrade-frameworks

这让我想到了这篇文章

http://www.jroller.com/mrdon/entry/transparent_sql_schema_migration_with

这最终导致我使用Apache DdlUtils和 jroller.com 博客文章中提供的BeanFactory解决方案来解决这个问题。

这最终将是一个组件,可以放入任何应用程序,无论是旧版还是新版,以在 Web 应用程序中实现更新功能。它将使用 XML 来应用数据库更新,并且使用 DDL 意味着该包将适用于任何受支持的数据库。更新程序还将支持对文件系统资源和数据本身(而不是架构)的更新

我不为BitRock工作。

这可能不完全是您要找的,但是我已经使用Bitrock的InstallBuilder来管理分布式应用程序的这些类型的更新。 这与PostgreSQL团队使用的安装程序包相同。 让这项工作非常简单,头痛最少。 特别是与其他安装程序相比。

最新更新