예제 tutotrial에 의한이 Django를 따르십시오 : http://lightbird.net/dbe/todo_list.html
튜토리얼은 다음과 같이 말합니다.
“이렇게하면 테이블 레이아웃이 변경되며 Django에게 테이블을 재설정하고 다시 생성하도록 요청해야합니다.
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?
그래서 settings.py의 INSTALLED_APPS에 ‘todo’를 추가하고 python manage.py sqlclear todo
다시 실행 하여 다음 오류가 발생했습니다.
$ python manage.py sqlclear todo
- NameError: name 'admin' is not defined
답변
reset
flush
Django 1.5 로 대체되었습니다 . 다음을 참조하십시오.
python manage.py help flush
답변
‘플러시’대답이 일부 경우에는 작동하지만 모든 경우에는 작동하지 않는 것 같습니다. 데이터베이스의 값을 플러시 할뿐만 아니라 테이블을 제대로 다시 만들어야했습니다. 아직 (초기) 마이그레이션을 사용하지 않기 때문에 모든 테이블을 삭제해야했습니다.
모든 테이블을 삭제하는 두 가지 방법은 모두 핵심 django 이외의 것이 필요합니다.
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를 수행하면 문제가 해결되었습니다.
답변
Django 2.0을 사용하는 경우
python manage.py flush
작동 할 것이다
답변
전체 데이터베이스를 정리하려면 다음을 사용할 수 있습니다.
python manage.py flush
Django 앱의 데이터베이스 테이블을 정리하려면 다음을 사용할 수 있습니다.
python manage.py migrate appname zero
답변
django 1.11을 사용하면 migrations
각 애플리케이션 의 폴더 에서 모든 마이그레이션 파일을 삭제하기 만하면 됩니다 (를 제외한 모든 파일 __init__.py
). 그때
- 데이터베이스를 수동으로 삭제합니다.
- 수동으로 데이터베이스를 생성합니다.
- 을 실행
python3 manage.py makemigrations
합니다. - 을 실행
python3 manage.py migrate
합니다.
그리고 짜잔, 데이터베이스가 완전히 재설정되었습니다.
답변
나를 위해 이것은 문제를 해결했습니다.
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