Il database MySQL che alimenta il nostro sito Django ha sviluppato alcuni problemi di integrità; per esempio. chiavi esterne che si riferiscono a file inesistenti. Non entrerò nel modo in cui siamo entrati in questo casino, ma ora sto cercando come sistemarlo.Esiste uno strumento per verificare l'integrità del database in Django?
Fondamentalmente, Sto cercando uno script che analizzi tutti i modelli nel sito Django e controlla se tutte le chiavi esterne e altri vincoli sono corretti. Si spera che il numero di problemi sia abbastanza piccolo da poter essere riparato a mano.
Potrei farlo da solo, ma spero che qualcuno qui abbia un'idea migliore.
Ho trovato django-check-constraints ma non si adatta al problema: al momento, non ho bisogno di qualcosa per prevenire questi problemi, ma per trovarli in modo che possano essere riparati manualmente prima di prendere altri passaggi.
Altri vincoli:
- Django 1.1.1 e riqualificazione è stata determinata a rompere le cose
- MySQL 5.0.51 (Debian Lenny), attualmente con MyISAM tavoli
- Python 2.5 , potrebbe essere aggiornabile ma preferirei non ora
(Più tardi, convertiremo in I nnoDB per il corretto supporto delle transazioni e forse vincoli di chiave esterna a livello di database, per prevenire problemi simili in futuro. Ma questo non è l'argomento di questa domanda.)
Non hai menzionato solo l'uso di PostGreSQL, MySQL è obbligatorio? –
Non obbligatorio, no. Considereremo PostgreSQL in seguito, ma cambiare il DBMS è un po 'troppo rischioso al momento. – Thomas