Проект Django использует неправильные (старые) настройки базы данных - PullRequest
7 голосов
/ 07 января 2012

недавно я запустил небольшой проект Django, который я разрабатывал на локальной машине, используя базу данных SQLite3 и интегрированный сервер разработки. Теперь я скопировал весь проект на сервер под управлением 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.

Другая вещь, которая почти сводит меня с ума, заключается в следующем: я удалил файл data.sqlite в корневой папке моего приложения, используя rm. Но когда я использую свое приложение, файл воссоздается!

Может кто-нибудь сказать мне, где я ошибся?

Ответы [ 2 ]

3 голосов
/ 09 января 2012

При работе в рабочей среде с mod_wsgi или mod_python новый код не будет включен, пока вы не перезагрузите / перезапустите веб-сервер.

Если вы используете apache с mod_wsgi, вы также можете touch файл wsgi.py, чтобы перезапустить только код Python.

1 голос
/ 02 октября 2012

Если вы работаете на Apache, запускайте «sudo /etc/init.d/apache2 reload» каждый раз, когда вы вносите изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...