Я создаю простое веб-приложение в django, использую sqlite в разработке и запускаю postgres в производстве.На моем локальном сервере все работает нормально, но я столкнулся со странной ошибкой на производственной стороне.
Ошибка затрагивает несколько частей сайта, но самый яркий пример - на странице администратора.Иногда, когда я просматриваю записи в таблице предложений, я получаю эту ошибку:
DatabaseError at /admin/treeLing_app/sentence/
column treeLing_app_sentence.sexp does not exist
LINE 1: ...ce"."comment_id", "treeLing_app_sentence"."text", "treeLing_...
^
В этом смущает то, что поле sexp (для "s-expression") включено только в оченьранние версии дизайна базы данных.Там нет никаких следов этого в коде.С тех пор я также удалил и заново создал базы данных для разработки и производства.
Итог: я не могу понять, как django / postgres знает о старом поле sexp.Кроме того, я не понимаю, почему ошибка появляется только изредка.Кажется, что-то пошло не так с магией, которая является ORM Джанго.Может ли кто-нибудь разгадать эту загадку для меня?
Несколько других деталей, которые могут быть полезны:
- Когда возникает ошибка, она, как правило, происходит несколько раз подряд - как будтоБД переходит в другой режим на несколько минут.
- В других частях сайта ошибка проявляется по-разному.Когда шаблоны ссылаются на поля в объектах предложения, поля просто пустые.Мне было трудно отлаживать это, потому что проблема обнаруживается только время от времени, и я не смог ее воспроизвести на моей машине для разработки.
- postgres - версия 9.1.1;Я использую psycopg2.
- Я использую Юг.Но, как я уже говорил ранее, я полностью удалил и заново создал обе базы данных - вместе со всеми миграциями - с тех пор, как возникла проблема, поэтому я сомневаюсь, что проблема в South.
- Я запускаю все это наБитнами Джангостак.Не уверен, почему это будет иметь какое-то значение, но вы никогда не знаете ...
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ : Некоторая новая информация: после долгих летВо время тестирования я не смог воспроизвести ошибку на производственном сервере при использовании команды django ./manage.py runserver - ошибка возникает только при использовании сервера apache / wsgi.
Это кажетсячтобы сузить проблему.Любые предложения для дальнейшего отслеживания?