Redefinir banco de dados no Django
- Redefina o banco de dados SQLite3 no Django
- Redefinir todo o banco de dados no Django
- Redefinir tabelas de banco de dados de aplicativos no Django
Ao trabalhar com bancos de dados, muitas vezes acabamos em situações em que temos que redefinir todo o banco de dados. Os possíveis motivos podem ser a adição ou remoção de algumas tabelas do banco de dados, alterações no design do banco de dados, problemas de lógica e relacionamentos ou o banco de dados foi preenchido com muitos dados inúteis. Seja qual for o caso, o Django torna muito fácil lidar com esse problema.
Além disso, o Django nos fornece alguns comandos que podem lidar com isso para nós. Um desses comandos pode redefinir o banco de dados no Django, e estamos aqui para demonstrar como você pode usá-lo.
Redefina o banco de dados SQLite3 no Django
Se você estiver usando o banco de dados SQLite3 para seu projeto Django e precisar redefini-lo, siga as etapas abaixo:
-
Exclua o arquivo
db.sqlite3
. Se este arquivo contém dados importantes, você pode querer fazer um backup para eles. -
Exclua todas as pastas
migrations
dentro de todos os aplicativos Django. -
Faça migrações para todos os aplicativos Django usando o comando
python manage.py makemigrations
. Pode haver casos em que as migrações não são feitas para os aplicativos; neste caso, adicione os nomes dos aplicativos a este comando como estepython manage.py makemigrations MyAppOne MyAppTwo MyAppThree
. -
Por último, migre as migrações usando este comando:
python manage.py migrate
.
Redefinir todo o banco de dados no Django
Se tivermos que redefinir todo o banco de dados completamente, usaremos o seguinte comando: (Nota: Depois de usar este código, todos os superusuários existentes serão excluídos também.)
python manage.py flush
Redefinir tabelas de banco de dados de aplicativos no Django
Se tivermos que remover as tabelas do banco de dados de um aplicativo Django, usaremos o comando abaixo. O código a seguir reverte todas as migrações para esse aplicativo específico:
python manage.py migrate MyApp zero