Ripristina database in Django
- Reimposta il database SQLite3 in Django
- Reimposta l’intero database in Django
- Ripristina le tabelle del database di un’app in Django
Quando si lavora con i database, spesso ci si trova in situazioni in cui è necessario ripristinare l’intero database. Le possibili ragioni potrebbero essere l’aggiunta o la rimozione di alcune tabelle del database, modifiche alla progettazione del database, problemi di logica e relazioni o il database è stato popolato con troppi dati inutili. In ogni caso, Django rende davvero facile affrontare questo problema.
Inoltre, Django ci fornisce alcuni comandi che possono gestirlo per noi. Uno di questi comandi può ripristinare il database in Django e siamo qui per dimostrare come puoi usarlo.
Reimposta il database SQLite3 in Django
Se stai utilizzando il database SQLite3 per il tuo progetto Django e devi reimpostarlo, segui i passaggi seguenti:
-
Elimina il file
db.sqlite3
. Se questo file contiene dati importanti, potresti voler eseguire un backup per quelli. -
Elimina tutte le cartelle
migrations
all’interno di tutte le applicazioni Django. -
Effettua migrazioni per tutte le applicazioni Django utilizzando il comando
python manage.py makemigrations
. Potrebbero esserci casi in cui non vengono effettuate migrazioni per le applicazioni; in questo caso, aggiungi i nomi delle applicazioni a questo comando come questopython manage.py makemigrations MyAppOne MyAppTwo MyAppThree
. -
Infine, migra le migrazioni usando questo comando:
python manage.py migrate
.
Reimposta l’intero database in Django
Se dobbiamo ripristinare completamente l’intero database, utilizzeremo il seguente comando: (Nota: dopo aver utilizzato questo codice, verranno eliminati anche tutti i superutenti esistenti.)
python manage.py flush
Ripristina le tabelle del database di un’app in Django
Se dobbiamo rimuovere le tabelle del database di un’applicazione Django, utilizzeremo il comando seguente. Il codice seguente inverte tutte le migrazioni per quella particolare applicazione:
python manage.py migrate MyApp zero