sql - 如何通过安装程序部署复杂的 SQL 解决方案?

标签 sql database installation

我正在使用的产品的部分设置例程安装了数据库更新实用程序。该实用程序检查用户数据库的当前版本,并(如有必要)执行一系列将数据库升级到当前版本的 SQL 语句。

这个例程的两个主要特点:

  • 启动后,无需用户交互即可运行
  • SQL 操作保持用户数据的完整性

目标是让最终用户(目标受众是非技术人员)的设置/数据库例程尽可能简单。但是,我发现在某些情况下,这两个功能是不一致的。例如,我想为我的一个表添加一个唯一索引——但现有数据可能已经违反了这个规则。我可以:

  • 默默地为用户选择“正确”的内容并丢弃(或存档)数据;或
  • 让用户了解什么是唯一索引,并让他们选择将哪些数据放在哪里

这两个选项听起来都不吸引我。我可以妥协,根本不创建唯一索引,但这很糟糕。我想知道其他人在这种情况下会怎么做?

最佳答案

从 Red-Gate 查看 SQL Packager。我没有亲自使用过它,但这些人总体上是很好的工具,这似乎可以满足您的需求。它让您修改脚本以自定义安装: http://www.red-gate.com/products/SQL_Packager/index.htm

关于sql - 如何通过安装程序部署复杂的 SQL 解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/148798/

相关文章:

如果某些值不存在,MySQL INSERT 多行

Mysql删除一个表中的id从另一个表中删除

mysql - 好友列表和未读消息 SQL 查询给出意外结果

mysql - 使用 order by 和 group by 连接表

wix - 如何在安装程序退出时执行多个启动条件

sql - 数据库中空值使用的空间

sql-server - 用于编写表数据脚本的工具

php - 单个数据库或多个数据库(用于单个应用程序中的多个用户)

R 包 data.table 无法在 R 3.5.1 系统上安装/编译

boost - 在一个 Debian 软件包中支持多个 Boost 版本