2014-12-29 4 views
-1

heroku 및 AWS S3 (boto 패키지)에 배포 할 django에서 웹 사이트를 개발하기 위해 아웃소싱 서비스를 구입했습니다. 불행히도 개발자는 질문을 받았음에도 불구하고 코드를 주석으로 작성하지 않았으며 더 큰 클라이언트를 추적하여 프로젝트를 완성하지 못했습니다. 저는 개발되지 않은 부분을 수정하기 위해 또 다른 장고 '전문가'를 고용했습니다. 그리고 그는 훌륭한 테스트를 위해 정상적인 문제라고 생각하는 배포 테스트에 대해 (이상) 비용을 청구하려고합니다! 나는 내 자신의 노력으로 일하고 있으며 스스로 그것을 해결해야한다.heroku - DatabaseError : relation "south_migrationhistory"가 존재하지 않습니다.

프로젝트를 로컬에서 실행하고 완전히 개발되지 않은 프론트 엔드 템플릿으로 만들 수 있었지만 자체 준비 환경에서 코드를 배포 할 때 문제가 있습니다.

프로덕션 환경으로 푸시하기 전에 모든 권한이 있는지 확인하기 위해 내 자격 증명 아래 준비 환경을 설정했습니다.

은 그래도, 내가 거의 다 얻을 생각 :

heroku run python manage.py migrate --all --noinput --app my-app-staging 

콘솔에 생성 :

Running `python manage.py migrate --all --noinput` attached to terminal... up, run.4833 

DatabaseError의 : 관계 "south_migrationhistory는" LINE 1이 존재하지 않습니다 ... 연계 가능성 " , "south_migrationhistory". "적용"FROM "south_mig ...

브라우저에서 :

DatabaseError at/
relation "django_site" does not exist 
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si... 
                  ^
Request Method: GET 
Request URL: http://my-app-staging.herokuapp.com/ 
Django Version: 1.5.6 
Exception Type: DatabaseError 
Exception Value:  
relation "django_site" does not exist 
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si... 
                  ^
Exception Location: /app/.heroku/python/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py in execute, line 5 

설정을 확인했는데 확인되었습니다. AWS S3 버킷을 확인하고 거기에 쓸 수 있습니다. heroku 콘솔의 설정은 db가 생성되었음을 표시합니다. Heroku created table but when I'll migrate, he says that doesn't created

을하지만 내 locals.py이 너무 좋아하고, 내 로컬 자식 지점에 db.sqlite이

내 자식과 Heroku가 SSH를 키가 생성 된 제외됩니다 .gitignore 같습니다

나는 다음 덧붙여서, 나는 그것이 인증의 문제라고 생각하지 않는다.

어떻게 db가 django 프로젝트에 제대로 연결되어 있고 내가 무효화되지 않았는지 확인할 수 있습니까? 이 오류의 의미와 해결 방법을 이해하기 위해 브리핑에서 도움을받을 수 있습니까?

정말 고맙습니다.

답변

3

스테이징 서 v에서 초기 South 이주 테이블을 작성하지 않았을 수 있습니다. 이것은 실제로 done using syncdb입니다 :

Once South is added in, you’ll need to run ./manage.py syncdb to make the South migration-tracking tables (South doesn’t use migrations for its own models, for various reasons).

는 Heroku가에서이 작업을 실행하려면, 당신은 아마이 작업이 완료되면, 당신은 남쪽 명령으로 전진 할 수 있어야한다

heroku run python manage.py syncdb 

같은 것을 사용할 것 .

+0

감사합니다. @Chris는 저에게 도움이되었습니다. 이 튜토리얼에 대한 링크도 가져 주셔서 감사합니다! 이제 다음 번 디버그로 넘어갈 수 있습니다. :) - 죄송 합니다만, 저평가로 인해 아직 답변을 업 그레 이드 할 수 없습니다. – user305883

관련 문제