python - 连接表的自动回滚
问题描述
有一个基于 PostgreSQL、Python 和 SQLAlchemy 的 CMS 系统。系统的发布部分基于一个结构:
“门户”的每个实体可以有许多“页面”。
Portal >--to many(junction_table_1)--< Page
假设我们有一个带有一些网页的门户。在某个时间点,设计会发生变化——旧页面被删除,新页面以及所有配置文件都被添加。我们称这个时间点为 (T)。从那时起,新的网页就会出现。
其中一种形式存在错误。提交后说有会话问题。此错误可以在每台机器和 Web 浏览器上复制,并且没有其他问题可见。
魔术从这里开始:办公室中有一台已识别的计算机 - 如果提到的错误是由它引起的 - 会导致数据库发生异常变化。表“junction_table_1”的状态恢复到 (T) 之前的时间点。“门户”显示所有与用户相关的旧网页。只是说清楚:它不是整个数据库。这只是一个连接表。
我知道“这是不可能的”,但我已经看到它一遍又一遍地用那台机器复制。
我们检查了数据库上的锁,挂起回滚等。那里什么都没有。没有脚本、触发器、过程 - 该方案仅包含表和序列。
有什么提示吗?工具?想法从哪里开始寻找一些解释?我需要一个巫师来参加冒险...
解决方案
推荐阅读
- java - 分块编码与写在 HttpServletResponse outputStream 上?
- python - 如何在具有 N 个元素的列表中找到质心?
- swift - UITextField + Timer 问题 - 检查“编辑已更改”但仅启动一次计时器?
- python - 如何使用 Python 对相对于行的数据进行分类?一条线的左侧或右侧
- javascript - 试图让我的机器人检测到无效命令
- flutter - CORS 政策不允许 Flutter Web 项目
- html - CSS 出现延迟
- r - 使用光栅化功能的问题
- javascript - 将来自两个不同对象键的值组合成一个对象键值
- ios - highcharts-react-native 在 iOS 二进制文件 (.ipa) 中不起作用