祖传代码之无实施,自动化,升级数据结构,采坑经验分享,使用FluentMigrator进行数据库迁移

68 篇文章 3 订阅
35 篇文章 0 订阅

前言:如何避免成为炮灰?花时间研究炮弹技术,这样自己就不是炮灰了。或者有人带你用1分钟的时间带你理清底层逻辑吗?
标题:祖传代码之无实施,自动化,升级数据结构,采坑经验分享
技术点:Fluent Migrator是.NET下的一个数据库迁移框架。

背景:升级祖传项目,雷打不动的传统开发方式,编码先行,政治原因开发人员不接触客户及客户生产环境,代码都迭代更新十多年,客户版本还停留在十年前。沟通不畅,技术迭代,传递理解衰减,其中数据库结构变动(表新增、删除,表列新增、修改、删除等)反复多次。如何保证表结构正常升级,代码得优雅呢?分享下踩坑经验。
先说说基础原理:
参考:https://www.cnblogs.com/chengtian/archive/2018/11/10/9938756.html
在这里插入图片描述

在这里插入图片描述
执行过后数据库会标记这个已执行过的标识后面跳过这个标识对应的脚本
我们可以利用Migration基类,编写数据结构改变,它有两个方法Up()和Down()。up方法用于升级迁移,down用于回滚。
在这里插入图片描述
可重复执行的脚本在这里插入图片描述在这里插入图片描述

------分割线 技术分享完下面说说其中的坑。
对于敏捷项目倒是没啥问题。刚才的背景 祖传代码到底有什么问题呢?
比如
步骤一 1.001.sql脚本新增列A
2.002.sql脚本依赖列A 中001.sql
步骤二 001.sql 有修改起把A干掉了 或者其他管理表有依赖 因为标记过 执行时间就变为最新
步骤三 步骤一和二做完去了生产环境 导致先执行步骤一中的2. 导致找不报错 导致凉凉 哈哈哈

一般都会入的一个坑是 按表来
后面最后都会选择用时间来

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云草桑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值