mysql - django - 记录未保存在 MySQL 数据库中但自动增量增加

标签 mysql django docker mariadb data-loss

我在这里遇到了一个奇怪的问题。

我在 docker 容器中使用 django。当系统尝试保存一些记录时(大部分都有效!),它们最终不会出现在数据库中。

当我在调试器中查看进程时,django 对象被保存,它从数据库中获取一个 ID,在 django 世界中一切似乎都很好。

但记录从未出现在数据库中!甚至更奇怪:如果我查看表的元选项,我会看到每条本应创建的记录 AutoIncrement 都会增加。所以看起来数据库知道这些记录但决定不保存它们...

我在我的 Windows 机器上试过了,服务器运行的是 UNIX,两者都有同样的问题。

我正在使用 django==2.0.9mysqlclient==1.3.13 连接到 MariaDB

当我将表引擎从 InnoDB 切换到 MyISAM 时,它就可以工作了。

它可重复发生在 django-axes 表中,但我在系统的其他部分也遇到过这个问题。调用来自 django-restframework 到 django。

坦率地说,我不知道从哪里开始寻找问题。

  1. 在 Windows 和(服务器的)UNIX 上它发生,在另一个开发者的 UNIX 上它工作

  2. 我降级了最新的mysqlclient,没有效果

  3. Google 什么也没说,或者我没有问正确的问题

  4. MySQL错误日志保持沉默。

  5. 我还尝试了最新的 MariaDB 图片 10.3

最佳答案

好吧,在没有找到我能做些什么的情况下,我将这些显式表的数据库引擎切换为 MyISAM,现在它可以工作了。 super 奇怪。

关于mysql - django - 记录未保存在 MySQL 数据库中但自动增量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52721687/

相关文章:

Php从mysql数据库中删除项目

MySQL 在多表查询中检索最低值

java - 如果我们在 dockerfile 中使用 CMD,Docker 多阶段构建会失败

docker - Docker构建在RUN pip install -e git <repo url>上失败

MYSQL Count(Distinct) 分组依据

php - MySQL 更新不工作

python - 如何获取多个模型中的最新条目 - django python

python - django treebeard MP_Node Tree 对象的多个版本(修订版)

HttpResponseRedirect后未显示Django消息

node.js - 清理用户yarn缓存会影响docker镜像吗?