我能够从后台 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,但似乎没有什么不同。
有什么我想念的吗?