Когда я запускаю Django на Dreamhost с использованием SQLite, почему я получаю сообщение OperationalError, сообщающее, что таблицы не существует? - PullRequest
0 голосов
/ 01 апреля 2010

У меня был сайт Django, работающий на Dreamhost. Хотя я использовал SQLite при локальной разработке, я изначально использовал MySQL на Dreamhost, потому что это то, о чем говорила вики-страница , и потому что, если я использую ORM, я мог бы также воспользоваться работает с другой базой данных.

Через некоторое время я переключил настройки на сервере для использования SQLite, чтобы упростить синхронизацию моей базы данных разработки с серверной. python manage.py syncdb работал на сервере, но когда я попытался получить доступ к сайту, я получил OperationalError. На странице с ошибкой в ​​Django говорилось, что одна из моих таблиц не существует.

Я проверил базу данных, используя sqlite в командной строке на сервере и python manage.py shell, и оба работали нормально.

1 Ответ

1 голос
/ 01 апреля 2010

Оказалось, что на сервере для настройки DATABASE_NAME требуется полный путь, например

DATABASE_NAME = '/home/USERNAME/SITE/DJANGOPROJECT/DATABASE.db'

Локально (и я думаю, что для manage.py на сервере), просто имя файла было хорошо, например,

DATABASE_NAME = 'DATABASE.db'
...