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

前端之家收集整理的这篇文章主要介绍了sql – 弃用数据库模式中的列的最佳方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在阅读了有关数据库模式迁移和版本的许多问题之后,我想出了一个在更新过程中安全地更新数据库模式的方案.基本思想是在更新期间,我们将数据库导出到文件,删除并重新创建所有表,然后重新导入所有表.没有什么太花哨或冒险.

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

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

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

解决方法

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

猜你在找的MsSQL相关文章