【发布时间】:2017-09-26 00:36:06
【问题描述】:
我能够从后台 UI 中删除频道并在 SMC 中运行 DeleteDomainReferences 作业以清除引用并能够再次创建具有相同 ID 的新频道。
但是,一旦创建了订单,上述过程将不起作用。
我听说我们可以针对这种情况对数据库运行一些存储过程。
问题:为了能够清除 Intershop 中的任何引用以便我可以再次创建具有相同 id 的频道,需要采取哪些存储过程和步骤?
9/26 更新:
我确实在 SMC 中配置了一个新作业来调用 DeleteDomainReferencesTransaction 管道,其中 ToBeRemovedDomainID 属性设置为我要清理的域 ID。
作业在日志文件中运行且没有错误。不过,这项工作几乎立即完成。
然后我在 SMC 中运行了 DeleteDomainReferences 作业。这是我通常在删除该频道后在该频道中没有订单时运行的作业。此作业未能在日志文件中出现以下异常。
ORA-02292: 违反完整性约束 (INTERSHOP.BASKETADDRESS_CO001) - 找到子记录 ORA-06512:在“INTERSHOP.SP_DELETELINEITEMCTNRBYDOMAIN”,第 226 行 ORA-06512: 在第 1 行
然后我检查了 BASKETADDRESS 表并确实看到了该域 id 的记录。我猜这就是 DeleteDomainReferences 作业失败的原因。
我还使用该域 ID 执行 SP_BASKET_OBSERVER,但似乎没有什么不同。
我有什么遗漏吗?
【问题讨论】:
-
我会在我自己的机器上试一试,我会回复你的。
-
您使用的是哪个版本?我猜是 7.8 或更高?
-
我使用的是 7.8.1.4
-
是的,我很确定这是 7.8 中的错误。在 7.7 中它仍然有效。
-
有没有办法解决 7.8.1.4 中的错误?
标签: intershop