这可能太宽泛了,但这是我不得不花时间处理的一个问题。我们有一个分发给最终用户的应用程序。它运行在德比后端之上。我们可以相当轻松地推出代码更改,它会发送到我们的服务器,查看有新版本,下载,覆盖旧代码,然后重新启动。
但是,当我们更改代码时,我们也会更改 derby 数据库的模式。我们没有很好的方法来更新它。目前我们可以通过 FTP 推送 SQL 更新。当程序连接到 Internet 时,它会查找新的 SQL 文件,下载并运行它们。
不幸的是,我们的许多客户的互联网访问受限,因此他们会间歇性地获得这些更新。有时因为它们的变化足够大,它们的本地数据库模式与我们想要的不同步。或者他们通过 CD 获得代码更改,而不是 SQL 更改(有人将 CD 邮寄给他们)。
我一直在尝试做的是创建一个 SOAP 服务,它可以提供模式的 XML 表示。到目前为止,这是一个巨大的 PITA。
人们目前使用哪些方法来维护这样的数据库?我觉得我不是第一个这样做的人,所以可能有比我正在做的更好的方法。
根据这里的一些评论,这里有一个更新: 基本上,我认为我们很早就搞砸了,因为我们没有遵守严格的数据库版本控制,所以我不知道每个人的数据库情况如何。很多人都建立了自定义安装(随意呻吟)。我需要一个工具来区分他们的数据库和“官方”副本之间的差异。
我有一个工具,它有点工作,但有这么多……很多……要跟踪的东西。