加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:35:04 所属栏目:MsSql教程 来源:网络整理
导读:在阅读了有关数据库模式迁移和版本的许多问题之后,我想出了一个在更新过程中安全地更新数据库模式的方案.基本思想是在更新期间,我们将数据库导出到文件,删除并重新创建所有表,然后重新导入所有表.没有什么太花哨或冒险. 问题是这个系统有点“病毒”,这意味着
在阅读了有关数据库模式迁移和版本的许多问题之后,我想出了一个在更新过程中安全地更新数据库模式的方案.基本思想是在更新期间,我们将数据库导出到文件,删除并重新创建所有表,然后重新导入所有表.没有什么太花哨或冒险.

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

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读