数据库自动升级方案

作者: JuliusL | 来源:发表于2020-05-26 00:52 被阅读0次

需求

  • 表名的变更
  • 列名的变更
  • 列类型的变更
  • 列值的变更及变更规则

普通迁移步骤

1,创建一个临时表
2,把里面的数据全部移动到对应的临时表中
3,删除旧表
4,新建新表
5,把临时表的数据根据定义好的变换规则把数据一个个导入到新的表中就好了。

防中断迁移步骤

1,创建新表对应的临时表(因为新表对应的旧表表名可能会变,所以统一新建一个新的临时表)
2,根据字段变更规则一个个把旧表数据移植到新表的临时表中。
3,等数据全部移植完毕后,修改旧表名字+ _await_delete(后缀)。
4,把新表临时表的名字改为新表的名字。
5,确认交互及所有数据都无误后。(人工或自动校验)
6,把旧表及里面数据都删掉。
6.1,如果有误,则把新表删掉,旧表名字改回来。

难点及坑

  • 如何防中断?
    • 把删除旧表放在最后
  • 如何给出进度?
    • 获取总共的数据条数
    • 每插入N条返回一个百分比数值

(具体例子后续补充2020.5.26)

相关文章

  • 数据库自动升级方案

    需求 表名的变更 列名的变更 列类型的变更 列值的变更及变更规则 普通迁移步骤 1,创建一个临时表2,把里面的数据...

  • Mysql升级注意要点

    MySQL升级注意要点 1.升级的益处,升级的影响,数据库升级方案制定,升级失败的回滚方案。 升级益处 (MySQ...

  • 数据库字段动态扩展设计

    转 数据库字段动态扩展设计 最近讨论数据库有关产品方案的项目自动扩展问题,即每个方案都有多个项目,而每个方案的项目...

  • SpringBoot+Flyway

    Flyway 数据库版本管理工具,支持数据库版本自动升级,支持多种数据库Oracle, SQL Server, S...

  • 知识点

    Java 8 Lambda实现原理分析 Android 数据库升级完整解决方案 RelativeLayout和Li...

  • Room数据库自动升级

    以前在安卓端使用数据库存储数据时,总是不可避免地后期涉及到数据库升级的问题,在早期Room版本中,需要编写对应的s...

  • realm与coreData

    realm 优点: 键值观察机制 model 与table自动绑定 有人维护,有问题能得到反馈 兼容数据库版本升级...

  • 关于electron升级调研的心得笔记

    调研结论 应用更新官网对升级服务器有两种对应方案:具体如下方案一及方案二 window 环境自动更新不一定非要ht...

  • Mysql数据迁移流程记录

    1.提前数天通知用户网站将升级维护,届时访问网站提示升级中页面 2.暂停所有后台业务与自动脚本 3.备份数据库my...

  • GreenDao数据库升级

    GreenDao数据库升级 第1步:升级数据库版本号 第2步:修改数据库实体类 第3步:迁移数据库 注:数据库升级...

网友评论

    本文标题:数据库自动升级方案

    本文链接:https://www.haomeiwen.com/subject/orjpahtx.html