Django项目使用错误的(旧)数据库设置

问题描述:

最近我开始了一个小型的Django项目,我使用SQLite3数据库和集成开发服务器在本地机器上开发。我现在将整个项目复制到运行Debian的服务器上。Django项目使用错误的(旧)数据库设置

只要我一直使用SQLite3数据库,一切运行良好。现在我想切换到本地MySQL数据库,所以我更改了项目根文件夹中的settings.py文件,创建了数据库并添加了一个用户。然后我运行syncdb并创建了所需的表格,没有任何问题。

现在我想使用应用程序,但我不断收到错误,因为Django无法找到表格 - 既不是像django_sessions这样的“标准表格”,也不是我自己的表格 - 尽管它们在那里(我检查了数据库) 。

的一两件事,似乎尴尬有关DatabaseError页我得到的是以下行:

Exception Location: /usr/local/lib/python2.6/dist-packages/django/db/backends/sqlite3/base.py in execute, line 234 

这似乎是Django是仍在使用,即使我将其设置为使用MySQL后端的SQLite3的后端。

另外一件让我大失所望的事情是:我使用rm删除了应用根文件夹中的data.sqlite文件。但是当我使用我的应用程序时,文件正在被重新创建!

谁能告诉我我哪里出错了吗?

+1

你有一个settings.pyc文件吗? – 2012-01-07 19:53:01

+0

是的,我已经删除了两次。但是这并没有改变任何东西。 – user1136324 2012-01-07 20:01:35

+0

你有local_settings.py文件吗? – 2012-01-07 20:04:22

使用mod_wsgi或mod_python在生产环境中运行时,只有在重新加载/重新启动Web服务器之前,才会合并新的代码。

如果您使用的是mod_wsgi的apache,您也可以使用touch的wsgi.py文件重新启动python代码。

如果在Apache上运行,每次更改时都运行“sudo /etc/init.d/apache2 reload”。