장고에서 db를 리셋하는 방법은?'reset' 명령을 찾을 수 없음 오류가 발생함
예제 tutotrial에 의한 이 장고를 따라 여기: http://lightbird.net/dbe/todo_list.html
자습서에는 다음과 같이 적혀 있습니다.
"이로 인해 테이블 레이아웃이 변경되므로 장고에게 테이블을 재설정하고 재생성하도록 요청해야 합니다.
manage.py reset todo; manage.py syncdb
"
가 실행할 manage.py reset todo
, 가 합니다.
$ python manage.py reset todo
- Unknown command: 'reset'
제가 postgresql이 아닌 sqlite3을 사용하고 있기 때문인가요?
데이터베이스를 재설정하는 명령이 무엇인지 누가 말해줄 수 있습니까?
:python manage.py sqlclear todo
오류를 반환합니다.
$ python manage.py sqlclear todo
CommandError: App with label todo could not be found.
Are you sure your INSTALLED_APPS setting is correct?
' doISTALLED_에 'to do' 했습니다.를 실행하고 을 실행했습니다.py 에서 APPS 실행python manage.py sqlclear todo
다음 오류가 발생합니다.
$ python manage.py sqlclear todo
- NameError: name 'admin' is not defined
reset
되었습니다로 되었습니다.flush
1경우: 장고 1.5우오을의오을:.
python manage.py help flush
일부의 경우에는 '플러시'라는 대답이 효과가 있을 것으로 보이지만, 모든 경우는 아닙니다.데이터베이스의 값을 플러시하는 것뿐만 아니라 테이블을 제대로 다시 만들어야 했습니다.아직 (초기) 마이그레이션을 사용하고 있지 않기 때문에 모든 테이블을 삭제해야 했습니다.
제가 찾은 두 가지 방법은 모두 코어 장고가 아닌 다른 것이 필요합니다.
Heroku를 사용하는 경우 pg:reset:으로 모든 테이블을 삭제합니다.
heroku pg:reset DATABASE_URL
heroku run python manage.py syncdb
Django Extensions를 설치할 수 있다면 전체 리셋을 수행할 수 있습니다.
python ./manage.py reset_db --router=default
LisaD의 답변과 비슷하게, Django Extensions는 "flush"처럼 테이블을 잘라내는 대신 모든 것을 완전히 삭제하는 훌륭한 reset_db 명령어를 가지고 있습니다.
python ./manage.py reset_db
단순히 테이블을 지우는 것만으로는 객체를 삭제할 때 발생하는 지속적인 오류가 해결되지 않았습니다.reset_db를 수행하면 문제가 해결되었습니다.
장고 2.0을 사용하는 경우.
python manage.py flush
통할 것입니다
전체 데이터베이스를 지우려면 다음을 사용할 수 있습니다.
python manage.py flush
장고 앱의 데이터베이스 테이블을 청소하려면 다음을 사용할 수 있습니다.
python manage.py migrate <app-name> zero
1에서는 django 1.11에서 .migrations
각 응용프로그램의 폴더(다음을 제외한 모든 파일)__init__.py
). 그러면
- 데이터베이스를 수동으로 삭제합니다.
- 데이터베이스를 수동으로 만듭니다.
- 를 합니다.
python3 manage.py makemigrations
. - 를 합니다.
python3 manage.py migrate
.
그리고 voilla, 당신의 데이터베이스는 완전히 초기화 됐습니다.
python manage.py flush
이전 DB 내용 삭제,
새로운 수퍼유저를 만드는 것을 잊지 마십시오.
python manage.py createsuperuser
저는 이것으로 문제가 해결되었습니다.
heroku pg:reset DATABASE_URL
heroku run bash
>> Inside heroku bash
cd app_name && rm -rf migrations && cd ..
./manage.py makemigrations app_name
./manage.py migrate
@LisaD의 답변에 대한 후속 조치입니다.
2016년 기준(Django 1.9
), 다음을 입력해야 합니다.
heroku pg:reset DATABASE_URL
heroku run python manage.py makemigrations
heroku run python manage.py migrate
이것은 헤로쿠 내의 새로운 데이터베이스를 제공해 줄 것입니다.
데이터베이스를 수동으로 삭제하기만 하면 됩니다.백업을 먼저 만드는지 확인합니다(내 경우 db.sqlite3이 내 데이터베이스임)
이 명령 실행
manage.py migrate
사용합니다.python manage.py flush
장고 4.1에 포스트 레와 함께SQL
언급URL : https://stackoverflow.com/questions/15454008/how-to-reset-db-in-django-i-get-a-command-reset-not-found-error
'programing' 카테고리의 다른 글
'requestReview()'는 iOS 14.0에서 더 이상 사용되지 않습니다. (0) | 2023.09.12 |
---|---|
기본 64 CLOB에 Oracle BLOB 연결 (0) | 2023.09.12 |
스프링 부트 액추에이터의 트레이스에 JSON 응답 바디를 포함하는 방법은? (0) | 2023.09.12 |
MVC 4에서 위조 방지 쿠키 토큰과 폼 필드 토큰이 일치하지 않습니다. (0) | 2023.09.12 |
View Pager를 동적으로 업데이트하시겠습니까? (0) | 2023.09.12 |