有一个基于PostgreSQL,Python和SQLAlchemy的CMS系统。系统的发布部分基于以下结构:
“门户”的每个实体可以具有多个“页面”。
Portal >--to many(junction_table_1)--< Page
假设我们有一个包含某些网页的门户。 在某些时候,设计会更改-删除旧页面并添加新页面以及所有配置文件。 我们将此称为时间点(T)。从那时起,将显示新网页。
其中一种形式存在错误。提交后说存在会话问题。 此错误可以在每台机器和Web浏览器上复制,并且看不到其他问题。
魔术从这里开始: 办公室中有一台确定的计算机,如果计算机引起上述错误,则会导致数据库发生巨大变化。 表“ junction_table_1”的状态被恢复为(T)之前的时间点。 “门户”显示了所有旧的网页以及与用户的关系。只是说清楚一点:不是整个数据库。只是一个连接表只是。
我知道“不可能”,但是我已经看到它一次又一次地在那台单机上复制。
我们检查了数据库上的锁,挂起的回滚等。那里什么也没有。没有脚本,触发器,过程-该方案仅包含表和序列。
有任何提示吗?工具?想法从哪里开始寻找一些解释?我需要向导来参加冒险...