2014-04-01 22 views
0

我们需要将表中的列从不可空或不可空的更改为列。该表跨越了服务领域,并且正在按照我们的SOA需求进行分割。看起来很简单,但对我们的客户有潜在的巨大后果和影响。在实时数据库中将列更改为空值

如果在运行脚本进行这些更改后出现任何问题,我们可以回滚哪些方法?

如果我们要回滚并且出现空值,您会如何建议将事情恢复到正常状态?

鉴于我们将处理大量的交易,哪些策略可能值得考虑?

回答

1

测试,再次测试,测试更多,并且只有当您绝对确定时才让它达到产量。

在回滚方面

  • 在那里,如果你有恢复到不为空,可以合理使用任何违约?
  • 你能够恢复表的备份和重放操作吗?
+0

已经讨论了默认的avenue。基本上,我们将把这个交给一个sql团队,并发布开放版本,但是如果没有缓解,他们会感到紧张。由于我们网站的24小时/全球运营,恢复备份不是一种选择。 – brumScouse

+0

对于他们来说,这是一个正确的问题 - 在测试之外,您正在执行退出计划。假设你仍然不能写出空值 - 代码是否仍然有它将用来代替的值?如果是这样,您可以将该值存储到另一列,并在退出时使用该值。 – Andrew

+0

所有的东西都等于我们写的值“SHOULDNT”永远包含空值“暂时”。持久层尚未更新。所以代码没有改变(db服务将在未来的某个时间点这样做)我想我是在考虑这些情况下是否存在任何合理的回滚理由..... – brumScouse

相关问题