Reset SQLite database in Django

后端 未结 5 579
孤街浪徒
孤街浪徒 2021-02-01 22:34

I am trying to refactor a Django project. I renamed a couple apps and added a new one, as well as shuffled some models around. I want to clear my database and migrations and sta

相关标签:
5条回答
  • 2021-02-01 22:48

    Delete database and delete migration files (.py and .pyc) in migrations directory of your app (don't delete __init__.py file). Then run python manage.py makemigrations app and python manage.py migrate.

    0 讨论(0)
  • 2021-02-01 22:52

    For me, just

    python manage.py flush
    

    deleted old db contents, so i was able to create records anew in Django 2.1.4.

    Don't forget to create new superuser:

    python manage.py createsuperuser
    
    0 讨论(0)
  • 2021-02-01 23:02

    I had the same issue, using Django 1.10, here is what I did, I deleted the database sqlite file, deleted the pycache folders inside each of the apps, deleted all files inside the migrations folder for each app , except the init.py file, and then ran python manage.py makemigrations and python manage.py migrate. Also note that because you deleted the database you will have to create a new superuser using python manage.py createsuperuser. Hope this helps

    0 讨论(0)
  • 2021-02-01 23:04

    Do not delete your database file!

    Its correct to delete migration files and then run flush but deleting sqlite database file is wrong. This worked to me every time. If you are using other database, it will save you a lot of work and preparations.

    1. delete all ".py" and ".pyc" files manually
    2. python manage.py flush
      type "yes" to confirm
    3. python manage.py makemigrations
    4. python manage.py migrate
    0 讨论(0)
  • 2021-02-01 23:05

    This may help you if you want to clear sqlite3 DB follow these steps.

    1. Delete migrations files except init.py
    2. Delete dbsqlit3 file
    3. Then type python/python3 manage.py migrate
    4. Then make changes in your models
    5. Type python/python3 manage.py makemigrations
    6. Type python/python3 manage.py migrate
    7. Then you have to create new superuser by just typing python/python3 manage.py createsuperuser . you should use new name not old user name
    0 讨论(0)
提交回复
热议问题