编辑数据库后更新桌面软件的正确方法是什么?
What is the correct way to update a desktop software after editing its database?
我的客户正在使用一个桌面应用程序。我会不时地修复一些错误、添加功能并推送新的更新。更新的工作方式如下(自动):
- 为应用程序 (Winrar) 下载新文件。
- 将文件提取到临时文件夹。
- 将文件复制到应用程序文件夹(覆盖现有文件)。
就是这样。我不接触数据库,它是一个位于其自己文件夹中的 MS Access 文件。我只是更新文件,而不是数据库,因为我不想让客户丢失他们的数据。
现在我已经对数据库进行了一些架构更改(添加了一些列、表...),所以这次我也必须更新数据库文件。
我怎样才能更新这些数据库文件,使客户不会丢失他们的数据?
一个选项是将更改定义为一系列 SQL 命令,例如针对数据库的 ALTER TABLE
到 运行。将这些命令放在一个(或多个)特殊文件中,并将逻辑构建到您的更新程序中(或在您的应用程序启动期间)以检测并 运行 它们。
这样做的额外好处是,您可以通过管理应用源代码的版本控制系统来保留这些更改。
我的客户正在使用一个桌面应用程序。我会不时地修复一些错误、添加功能并推送新的更新。更新的工作方式如下(自动):
- 为应用程序 (Winrar) 下载新文件。
- 将文件提取到临时文件夹。
- 将文件复制到应用程序文件夹(覆盖现有文件)。
就是这样。我不接触数据库,它是一个位于其自己文件夹中的 MS Access 文件。我只是更新文件,而不是数据库,因为我不想让客户丢失他们的数据。
现在我已经对数据库进行了一些架构更改(添加了一些列、表...),所以这次我也必须更新数据库文件。
我怎样才能更新这些数据库文件,使客户不会丢失他们的数据?
一个选项是将更改定义为一系列 SQL 命令,例如针对数据库的 ALTER TABLE
到 运行。将这些命令放在一个(或多个)特殊文件中,并将逻辑构建到您的更新程序中(或在您的应用程序启动期间)以检测并 运行 它们。
这样做的额外好处是,您可以通过管理应用源代码的版本控制系统来保留这些更改。