我已经出现在一份新的工作中,发现了急需一些帮助的数据库。它有很多很多错误,包括糟糕的数据库架构设计的升级策略
- 没有外键......任何地方。他们伪造使用
int
s和管理代码中的关系。 - 实际上,每场可
NULL
,这是不是真的 - 命名约定表和列实际上是不存在的 其存储的关系信息串联字符串
乡亲
Varchar
小号可以争论,“它有效”,它是。但是向前发展,用代码来管理所有这些是一件非常痛苦的事情,并且让我们知道了IMO的错误。基本上,DB是作为一个平面文件使用的,因为它没有做很多工作。 我想解决这个问题。我看现在的问题是:
- 我们有大量的数据(迁移,可能是棘手的)
- 所有DB的逻辑是代码(与移民来到大码的变化)
我也试图做一些“激进”的事情,比如转向无模式数据库。
当面对基于设计不佳的架构的现有数据库时,有什么好的策略?
我喜欢使用这个问题的意见。 – 2009-12-29 07:19:41
为此使用视图的问题是它从长远来看并不能真正解决问题,它只是在执行迁移时的临时解决方案。你需要有一个迁移计划,所以你确实要迁移所有旧的代码,否则你最终只能得到两个数据库模式(一个是你想要摆脱的旧的蹩脚的模式)。日程安排可能必须有一个设定的日期,当你将放弃的意见。 – 2009-12-29 10:28:43
@Emil:重读我的第一句话;) – 2009-12-29 10:32:53