1

我有一个 django 代码的 git 存储库。Python 2.6 版和 django 1.4 版。今天不小心从我的家用电脑上尝试使用 python 2.7.3 启动 django 应用程序,但发生了一些奇怪的事情。我丢失了数据表中的所有数据。我不确定版本冲突是原因还是其他原因。我怎样才能找出为什么桌子是空的?会不会是mysql的问题?调试这个的最佳策略是什么?数据不是那么重要,但我不希望这种情况再次发生。

4

2 回答 2

1

我怎样才能找出为什么桌子是空的?会不会是mysql的问题?调试这个的最佳策略是什么?数据不是那么重要,但我不希望这种情况再次发生。

log我认为没有彻底调试 Django 安装的唯一方法是通过以下设施将 MySQL 设置为记录所有内容my.cnf

[mysqld]
log            = /var/log/mysql/queries.log

然后恢复数据,然后重新启动 MySQL 以使日志记录生效,并再次尝试使用 Python 2.7.4。数据应该会再次消失,但这次您会看到在日志文件中发出了哪些命令。

有了这些命令,您可以尝试查看它们在 Django 代码中的位置。

完全消失看起来像是对模型结构的重新创建,这意味着系统不知何故无法识别数据存在。我不知道任何导致此问题的 Python 或 Django 问题。

您确定您不只是发出刷新/重置命令吗?

于 2012-09-17T21:53:08.760 回答
0

我不完全明白你的意思

今天不小心从我的家用电脑上尝试使用 python 2.7.3 启动 django 应用程序,但发生了一些奇怪的事情”

但是有可能您设法在一个不知道它已经运行过的系统上运行了syncdb?syncdb 不保留任何数据。

如果您计划进行架构更改,您应该考虑使用South进行迁移。

于 2012-09-17T21:50:26.130 回答