1
lasuar 14 天前
大量的 sql 是指 少量多次,还是一次很多?前者就加入版本化管理,后者由组长或数据库权限掌控者审核后直接执行。
私有化部署,不是直接复制目前线上环境的数据表和代码吗?为什么要关注旧版本? |
2
clacf OP @lasuar #1
1. 每天少量多次推送到测试环境。每个月的一次迭代中会一次同步大批量 sql 到生产中。 2. 线上环境,存在客户的信息。没法直接复制,脏数据清理非常耗时,各种关联。卖给私有化客户,肯定得尽量干干净净。 |
3
aboat365 14 天前 1
你的问题是数据库版本控制?如果是,有大量的文章告诉你如何做,你只需要找到适合自己团队的方法即可。你提到每次升级都耗费大量人力,实际上没有办法能大量减少人力的消耗,因为这就是版本升级必须付出的代价。无非就是一些规范和步骤让这些事情做起来更有条理,避免遗漏。数据库版本控制有一些工具可以进行辅助,比如数据库结构比对,迁移脚本,数据库变更审计。总而言之,只能把版本发布工作做的更有条理,而不能大量压缩时间。顺便推荐一下我开发的 IDEA 插件《 Database Buddy 》,可以比对两个数据库的结构差异,并生成迁移脚本。
|
4
lasuar 14 天前
第一点,这个是需要加入版本化管理的。
第二点,只能提前整理好清理表的 sql 。 |
7
lasuar 14 天前
第一点,在 sql 管理时需要进一步的优化,比如将 sql 按库/表分版本/文件存放,例如 sqls/v1.0.0/db_biz/t_user.sql ,这样在迭代时方便管理。另一个方式分需求目录存放,可以减少冲突。
|