业务耦合性高,基本就是一坨屎,而且还是国内不入流的技术栈 c#, 现在要想重构,先从数据库迁移开始,之前没干过迁移这种事情, 这事情难度大吗,现在基本就让 AI 搞,也不知道最终会不会搞好。
人和库有一个能跑就行
人和库有一个能跑就行
1
chachi 1h 53m ago
c#也有.netframework 和 netcore
看你哪种了。 |
2
liuzhedash 1h 52m ago
不要重构,也不要迁移,百分之百炸
建议再包一层,然后另起炉灶 我是过来人,信我 |
3
OutOfMemery 1h 51m ago
楼上+1 ,最好是另起炉灶。。。。
|
4
spacebound 1h 50m ago
有句老话怎么说来着“重构一时爽,测试火葬场”哈哈哈哈
看你的项目规模和业务负责程度了。你再用 ai 也只能帮你转换 sql 语法,写写数据导入导出脚本,你要指望着 ai 帮你重构整个数据库,那基本完完~ 总结:能跑就不要动 |
5
mikawang 1h 50m ago
慢慢迁移吧,新老库同时运行,CDC 从老库同步过去,出问题了能立马切回去,反正要有兜底方案
|
6
jydeng 1h 49m ago
难度非常大
|
7
2020diyige 1h 48m ago
重构的难度比新做可大多了,,绝大部分情况重构没有意义
|
8
NoKey 1h 44m ago
有些重构,其实就是相当于重新做啊
|
9
coderxy 1h 43m ago
难度大,做好回滚方案,除非你随时准备好跑路
一般都是先双写、然后同步旧数据、再双读验证、再把读切到新库、最后跑一段时间,没问题把双写关掉。 |
10
loryyang 1h 42m ago
迁移还好,重构那是风险很高。但以你的描述,你想解决架构腐烂的问题,那还是得重构啊。这事,我建议是,你至少先运维老系统一年,再提重构的事情。你没摸清楚之前千万不要重构
|
11
xiaomushen 1h 41m ago
不大,还好
|
12
play78 1h 38m ago
我不太清楚你的业务场景。说说我的。
公司内部一个供应链管理系统,就是简单的库存管理+行业特性。 技术上+数据库完全重构。难不难?不难!开发 4 个多月就重构完了。 因为数据是动态的,不能有错误,否则库存对不上。 1. 花了一个周末过来进行数据迁移(花了一个星期,做数据转换脚本,周末才执行) 2. 业务部门配合并行 2 套系统,期间,所有数据录两遍(操作逻辑还不太一样)、数据报表互相验证,半年! 你就说业务部门肯不肯陪你这么玩吧。 为什么需要半年,因为数据流不一样,新系统多了很多中间生产状态,更加精细化了,而一个产品生产周期平均需要 2-3 个月。 |
13
yanguangs 1h 38m ago
重构 99.9999%的情况下没有意义
现在用 AI 来搞, 最明显的就是会超出上下文长度, 现在就是限额 我之前搞一个需求, 一个 json 字段,tree 结构,打平存储到三张表里面, 就这个需求,因为 token 限额跟 vibe coding 流程调优, 都搞了快 2 个星期, 同时还要不耽误其他的功能开发 吃力不讨好, 领导关注的, 跟你关注的完全不是一个点. 领导一不给经费去买 coding plan ,二要你不影响其他功能. |
14
pony2335 1h 31m ago
难度巨大无比,别干,而且必炸,有 AI 也不好使
|
15
PopRain 1h 20m ago
迁移数据库是迁移数据库,重构是重构。。。。
迁移数据库大部分 ERP 系统不会特别难,数据库语法基本接近,估计 AI 也能帮忙 不理解业务,就不要去重构 |
16
nofishing 1h 20m ago
c# 不挺好的吗,数据库不会是 sql server 吧,要换成啥?
|
17
wangritian 1h 19m ago
没太理解为什么是先从数据库迁移开始,不应该是先开发新系统,最后迁移数据吗
如果没办法一口气开发完,就开发一部分然后把老系统的对应代码改成远程调用 迁移数据也没什么麻烦吧,原始数据保留不动,让 AI 反复写迁移脚本+人工测试不就完了 |
18
qiaoqiao881100 OP @nofishing 对,业务系统的数据库就是 sql server ,老板目标是最终想用 go 重构整个系统,现有 c#的系统太垃圾,有部分数据库是用 mysql 的,所以现在想先把业务上的 sql server 数据库迁移到 mysql, 然后再把我负责的业务用 go 重构 解耦。
|
19
qiaoqiao881100 OP @wangritian 想先把业务上的 sql server 数据库迁移到 mysql, 然后再把我负责的业务用 go 重构 解耦。
|
20
qiaoqiao881100 OP @wangritian 我他妈也不知道为什么就我负责的这块先重构,让我先搞,业务系统那么庞大呢。我日了
|
21
nofishing 1h 13m ago
@qiaoqiao881100 #18 没意义啊,C# 不挺好,分模块慢慢优化呗。sql server 迁移 mysql 更没意义,除非 TB+ 数据单机放不下要换分布式数据库。我之前做过 10TB 的 sql server 迁移 OLAP 数仓,你这种 TP 的业务系统更复杂
|
22
hnbcinfo 1h 11m ago
重构这事交给 gpt-5.5 最合适。
|
23
wysnxzm 1h 10m ago
新业务用新项目新数据库,老业务不要动,经验之谈听不听随你
|
24
cwliang 1h 5m ago
风险大收益低的事情不能干
|
25
zt4027050 1h 5m ago
确实能动就不要搞,吃力不讨好,除非你有明确的性能优化指标,重构后可以提升 xx 倍,然后指望他升职加薪
|
26
uCharles 1h 4m ago
怎么说呢,这种事有两个极端,有可能是想重用你也有可能是想干掉你
|
27
chutianyao 1h 1m ago
存量数据同步->增量双写->job 兜底比对/修复异常数据->开关控制读流量切到新库->开关控制停写老库->下线清理
大概就这么个流程, 我之前迁移线上 0 级系统 |
28
qiaoqiao881100 OP @chutianyao 你写的字我都认识,但是看不懂。俺之前干前端的。😭
|
29
SURA907 56 mins ago
感觉什么都没说清楚
1. 业务重构干嘛动数据库? 2. 所谓数据库迁移又是哪种迁移? > - 更换数据库( mysql -> pg )? > - 还是单纯挪个窝? |
30
qiaoqiao881100 OP @SURA907 最终目的是替换 c#这套东西,用 go 重构,所以想先把业务上的 sql server 数据库迁移到 mysql, 然后再把我负责的业务用 go 重构 解耦。
|
31
qiaoqiao881100 OP @SURA907 现在我才发现我是不懂后端被 cto 忽悠了。cto 可能也想找个垫背的
|
32
qiaoqiao881100 OP @SURA907 确实你这几个问题真是灵魂拷问, 现在只是现有系统某些业务性能不好 , 现有系统很多做法很龊,所以重构,但是还在跑。迁移数据库是 sql server 到 mysql
|
33
ntdll 50 mins ago 任何公司
任何项目 任何理由 重构 = 自杀 |
34
SURA907 45 mins ago
@qiaoqiao881100 这种重构巨危险,而且工期以年为单位,除非到了不彻底重构就会爆炸的程度,否则不建议碰
我之前有彻底重写过一个很边缘的小服务,没有碰数据库,即使如此也花了半年多 这个服务经过几手,被改的乱七八糟,经常搞出来脏数据,频繁去生产数据库清理脏数据不是什么好事,拖了很久拖不下去了,与其缝缝补补不如彻底重写 PS:这种细活不要太相信 AI |
35
yuyoung 31 mins ago
前端重构都容易炸飞,涉及到数据就更容易炸飞了,而且炸飞的后果更大,重构需要的不止是勇气,还要有理由,大多数重构也没法创造可观的 KPI 。
|
36
nolynfeng 22 mins ago
真是胆子大,不仅是数据库想迁移,代码也要一起改,我只能说牛,佩服佩服
|
37
Akuikkk 17 mins ago
重构过多个项目,我的经验是必炸。
你应该做好向上管理,明确告诉老板风险很大。真炸了你也打好预防针了。 |
38
loading 14 mins ago
> 这个 cto 每次问他问题都说让我掌控这个项目,说什么对我技术能力认可的,我 tm 才刚入职 2 月而已。
这是 PUA 话术,op 没感觉出来? |
39
zdjohn001 14 mins ago
做前端的搞数据库重构,感觉有点离谱,数据库里面道道还挺多的,迁移数据不少坑要填,一旦有问题可能很难恢复
|
40
cando 14 mins ago
|
41
tommyshelbyV2 5 mins ago
绝对不要迁移,老的就不要动,直接双写到新数据库。缓慢的过渡业务。
|
43
qiaoqiao881100 OP @loading 我肯定感觉出来了啊,都说 2,3 遍了,就是 pua 我呗,没办法,刚入职,又不好找工作。
|
44
Ayanokouji 2 mins ago
我自己写的,我熟悉业务的,我都不敢随便重构。虽然我有更好的设计,但是生产上依旧是缝缝补补。
|
45
longaiwp 2 mins ago
看了看,还要搞什么 Go ,不要看到什么都想搞点新的技术栈进来。
|
46
qiaoqiao881100 OP @longaiwp 哈哈哈是的, 现在项目是.net5 的 abp
|
47
qiaoqiao881100 OP @yuyoung 这个老板不懂技术,估计是被这个 CTO 忽悠了可以搞重构优化性能, 又知道 go 的性能好。然后他可能有承诺了老板重构,没办法只能向下施压向上管理了
|