当前位置:  开发笔记 > 后端 > 正文

弃用数据库模式中的列的最佳方法是什么?

如何解决《弃用数据库模式中的列的最佳方法是什么?》经验,为你挑选了1个好方法。

在阅读了有关数据库模式迁移和版本的许多问题之后,我想出了一个在更新过程中安全地更新数据库模式的方案.基本思想是在更新期间,我们将数据库导出到文件,删除并重新创建所有表,然后重新导入所有表.没有什么太花哨或风险.

问题是这个系统有点"病毒",这意味着添加列或表是安全的,因为删除它们会在重新导入数据时引起问题.通常,我可以忽略这些列,但问题是许多被删除的项目实际上已被重构,并且代码中旧的项目的存在使其他程序员误以为他们可以使用它们.

所以,我想找到一种方法,可以将列或表标记为已弃用.在理想情况下,在更新模式时会标记已弃用的对象,但是在下次更新期间,我们的备份脚本将不会选择以这种方式标记的对象,从而允许我们最终淘汰模式的这些部分.

我发现MySQL(也可能是其他数据库平台,但我们正在使用它)支持字段和表的COLUMN属性.这将是完美的,除了我无法弄清楚如何以有意义的方式实际使用它.我将如何编写SQL查询以获取包含与包含"deprecated"一词的文本匹配的注释的所有列名?或者我在看这个问题都错了,错过了一个更好的方法来做到这一点?



1> MrTelly..:

也许你应该重构使用你的表的视图,其中视图永远不包括deprocated列.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有