是否有任何工具或API来自动更新数据库结构

时间:2012-05-06 15:56:43

标签: database delphi database-versioning blackfish

在我支持的应用程序中,最近我对数据库结构进行了一些更改。

我将更新发送给用户,但很难让他们保持最新状态。

有没有简单的方法可以做到这一点?

使用户能够跳过版本但仍在他们安装的下一个版本中进行更新的东西。

我使用BlackFish数据库。

由于

3 个答案:

答案 0 :(得分:5)

只需将数据库版本号存储在数据库中,然后编写如下的迁移脚本:

  • database_10.sql - 初始数据库结构
  • database_10_15.sql - 迁移脚本从1.0移动到1.5
  • database_10_17.sql - 迁移脚本从1.5移动到1.7

检查每个应用程序启动时的数据库版本号,并应用所需的迁移脚本。

答案 1 :(得分:0)

旁注:

对于小项目而言,另一个吸引人的替代方案是组件ACE Absolute Database


现在直截了当:

个人版(免费)附带一个名为 DBManager 的自定义实用程序(及其源代码)。

enter image description here

它可以作为如何以编程方式管理数据库结构变更的起点(Delphi方式!)。

为什么不把它移植到BlackFish?

答案 2 :(得分:0)

我很少更改数据库,只是添加一个表或有时候是一个colunm。当我启动我的程序时,它检查所述列或表的存在,如果它不存在,它只是尝试制作它。