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

时间:2012-01-07 19:42:25

标签: python mysql django sqlite

最近我开始使用SQLite3数据库和集成开发服务器在本地计算机上开发的一个小型Django项目。我现在将整个项目复制到运行Debian的服务器上。

只要我继续使用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仍在使用SQLite3后端,即使我将其设置为使用MySQL后端。

让我惊慌失措的另一件事就是:我使用rm删除了应用程序根文件夹中的data.sqlite文件。但是当我使用我的应用程序时,正在重新创建文件!

谁能告诉我哪里出错了?

2 个答案:

答案 0 :(得分:3)

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

如果你正在使用带有mod_wsgi的apache,你也可以touch wsgi.py文件来重启python代码。

答案 1 :(得分:1)

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