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