软件管理:通过什么方式能保障测试环境与生产环境:表结构、表的初始化数据一致?

88 天前
 yiyiniu

场景描述

软件项目开发过程中:有测试环境、生产环境

  1. 大家经常在测试环境中,数据库里添加表、添加字段、添加了初始化的数据了
  2. 上线生产环境时,总是会发现:某个表的字段没有添加,初始化的一个配置表数据没初始化上。

请问大家有什么好的方式:能通知或者记录或者其他形式,来避免这种配置数据呀、表结构呀遗漏的问题呢?

目前通过 Gitlab 实现代码统一管理; 通过 Navicat 中数据库结构的比较,避免表结构的遗漏; 但是仍有一些初始化的数据,在上线后会遗漏。

3457 次点击
所在节点    程序员
45 条回复
litchinn
88 天前
如果是大型项目应该收回开发对测试环境的操作权限,交给测试或运维,数据库改动提供脚本给测试或运维执行。
小项目可以用一些自动化工具,java 系有 liquibase ,flyway 等。
但是这些也是逃不开自己写脚本的。
养成习惯,不要在 navicat 上直接改动数据库,改动时不要直接 Ctrl+s ,而且将那个 sql 预览复制出来执行
qiyilai
87 天前
尝试过好多,最后只能用严格执行的规章流程来控制,全部修改都得有 sql 语句汇总到版本管理员
runliuv
87 天前
SQL 脚本 + SVN/GIT 。
yinshaojun96
87 天前
@linjian 我们拿这个做测试生产数据同步,但是这玩意还能同步构建表么?
linjian
78 天前
@yinshaojun96 可以建表 https://github.com/liquibase/liquibase 可以看下这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1064262

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX