请教,如何管理项目中的 sql 语句

2020-09-21 17:10:49 +08:00
 NotreDame

项目是按迭代(每周)走的,目前每个迭代都会有一个存放本迭代产出的 sql 的文件。然后平时这个文件在迭代内就会被无限次重复部署(测试用)。。。这样很容易出问题,请问有改良的方法吗?谢谢🙏

2142 次点击
所在节点    数据库
13 条回复
helloworld2010
2020-09-21 17:15:03 +08:00
文件名加个版本号(日期,序号等)
NotreDame
2020-09-21 17:19:31 +08:00
@helloworld2010 之前就是“迭代名+日期”,发现文件堆积的很快,就改成一个迭代只有一个 sql 文件了,但是很不利于重复部署。
helloworld2010
2020-09-21 17:21:03 +08:00
@NotreDame 定期删掉旧 sql 文件呢?再不然按子功能分目录保存。
dswyzx
2020-09-21 17:28:33 +08:00
sql 语句考虑重复执行. 写法上的强制要求
有一个思路是:git 管理,然后定期抽取区间时间历史的 sql 语句进行批量执行
l00t
2020-09-21 17:50:37 +08:00
不明白在说什么…… 重复部署会有什么问题吗?能出什么问题?
MarioLuo
2020-09-21 18:11:15 +08:00
Java 项目可以使用 Liquibase 进行 sql 管理自动化,也可以手工管理
1.集中存储 sql 变更: git, wiki
2.开发测试如果环境分离那么提测时由测试执行 sql 变更
doufum
2020-09-21 18:12:08 +08:00
maven flyway plugin,配合版本管理的 tag
imydou
2020-09-21 18:13:10 +08:00
laravel migration
march13th
2020-09-21 19:41:25 +08:00
可以学习下 python django 中的模型管理 migration
NotreDame
2020-09-21 20:55:14 +08:00
@dswyzx
@MarioLuo
@doufum
@imydou
@march13th 谢谢,谢谢大家的建议
yazoox
2020-09-22 10:11:05 +08:00
看到这个帖子,想起了自己的青葱岁月。\
很多很多年前,入职一家公司,负责修复一个 SQL 的语句的 bug 。\
打开文件一看,那条(没错,是一条) SQL 语句,居然有 2000 行......

然后,在我离开的时候,已经 3000+行了\
;-)
justgodlike1993
2020-09-22 11:57:25 +08:00
@yazoox 看懂这 SQL 语句花了多久时间
zhangysh1995
2020-11-17 20:20:05 +08:00
要不要试试科研产物那些自动抽取 sql 的工具 (手动滑稽
https://csnagy.github.io/research/pdfs/2017/Nagy-SCAM2017.pdf

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

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

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

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

© 2021 V2EX