Ripristina database in Django

Vaibhav Vaibhav 29 giugno 2021
  1. Reimposta il database SQLite3 in Django
  2. Reimposta l’intero database in Django
  3. Ripristina le tabelle del database di un’app in Django
Ripristina database 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 questo python 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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Articolo correlato - Django Database