2015-05-29 4 views
8

Sto rimuovendo una tabella e un modello non necessari dal nostro sito Web Django. Ho rimosso tutti i riferimenti chiave foriegn prima della migrations.DeleteModel (...) si chiama, ma ho ancora sto ricevendo il seguente messaggio quando ho eseguito la migrazione:Eliminazione di modelli non utilizzati, richiesta di tipi di contenuto obsoleti

i seguenti tipi di contenuto sono stantio e hanno bisogno di essere eliminate: anche i cancellati

myapp | MyDeletedModel 

Eventuali oggetti legati a questi tipi di contenuto da una chiave esterna. Sei sicuro di voler eliminare questi tipi di contenuti? Se non sei sicuro di , rispondi "no".

Type 'yes' to continue, or 'no' to cancel: yes 

Sono confuso perché sto ricevendo questo messaggio c'è un modo per fermare questo prompt da mostrare quando andiamo dal vivo? usiamo un ambiente CI in cui non abbiamo utenti disponibili a rispondere "sì" o "no"

Grazie

risposta

11

Il quadro ContentTypes contiene riferimenti per modellare le tabelle. In questo caso, hai un riferimento vecchio alla tabella che hai appena cancellato. Rispondere perfettamente allo yes e rimuovere il tipo di contenuto non aggiornato. Sarebbe una storia diversa se avessi rinominato una tabella che aveva un GenericForeignKey che puntava ad essa, nel qual caso altri oggetti avrebbero una quello ContentType, e l'eliminazione sarebbe cascata lungo quelle relazioni.

In un ambiente live, è possibile passare l'opzione --noinput per sopprimere questo prompt. Tuttavia, per impostazione predefinita sarà no. Di solito non è un problema avere alcuni tipi di contenuto obsoleti in giro.

+0

Grazie a @knbk, controllerò con il nostro ragazzo ci per vedere come eseguiamo le migrazioni per --noinput, se rispondiamo una volta, ricorderà la risposta, o verrà richiesta ogni migrazione? –

+0

Verrà richiesto ogni volta che si esegue una migrazione che rinomina o rimuove un modello. – knbk

+0

ok, sto guardando il tavolo django_contenttype. Non vedo più una riga per il tavolo quando ho risposto di sì. ma se rispondo no, richiederà la prossima migrazione, giusto? –

Problemi correlati