condust 发表于 2024-3-11 11:48:45

咨询个业务场景大家是怎么解决的

不知道大家有没有这种场景:

在给客户作二开的时候首先拿到客户的生产数据,在自己的服务器搭一个开发环境,在开发过程中增加了很多的外部表,页面,存储过程,触发器,视图等,等开发的差不多了,需要将程序部署到正式环境,这个过程我现在的做法是在在生产环境中通过现有的表生成建表SQL,视图,触发器都重新执行一次,执行完成再将工程文件的数据源换成生产环境,但这样总感觉很麻烦,试问大家有没有更简单的方法来解决这个问题?
设计器暂时有没有这个功能能智能识别二个环境中的差异自动更新数据库?

app转转风 发表于 2024-3-11 11:48:46


这是常见的场景。

常规做法:
1、用生产数据库做备份,还原出来开发库;
2、二开时,在开发库上做开发,所有增加表、字段、存储过程等,都要写成sql脚本保存好;
3、开发完成,经测试没有问题,开始正式升级部署模拟;
4、将生产数据库做备份,还原出来测试库;

5、将开发过程中变动相关的sql脚本,在测试库上执行;
6、部署测试系统,验证升级是否准确;
7、将生产数据库做备份,防止升级出现意外;
8、在生产数据库上执行sql脚本;
9、新系统切换到生产数据库上;
10、验证新系统可用性。

如果一定要在活字格系统上做快速升级处理,可以把升级要用到的sql语句按步骤整理到一个sql语句表中,然后做一个升级页面,在这个页面中依次去执行sql语句表的SQL语句,但这种功能一般只用到一次,去开发此功能并不太划算,当然,如果项目对迁移要求比较高,做这个功能还是有价值的(一键平滑升级,跟客户多收到钱)。

VVANVI 发表于 2024-3-11 12:16:57

增量同步整个数据库, 工作量太大,应该不靠谱

Grayson.Shang 发表于 2024-3-11 17:49:30

感谢老大支持,一般这种真正要做数据库管理的话,确实需要保存SQL语句,并逐步将生产、测试和开发环境进行同步,这种复杂的模式中缺少不了版本的管理,最好的话,找一些相关的数据库管理工具,会让这个过程变的简单,更容易管理,当然论坛上大佬很多我就不献丑了,在网上找了一下相关的帖子,楼主可以参考一下。
https://www.cnblogs.com/kzfy/p/5717268.html
页: [1]
查看完整版本: 咨询个业务场景大家是怎么解决的