2015-05-29 7 views
8

Ich entferne eine unnötige Tabelle und ein Modell von unserer Django-Website. Ich habe alle foriegn Schlüsselreferenzen entfernt, bevor die migrations.DeleteModel (...) genannt wird, aber ich bin immer noch empfangen folgende Meldung, wenn ich die Migration ausgeführt wird:Löschen nicht verwendeter Modelle, veraltete Inhaltstypen Eingabeaufforderung

Folgende Inhaltstypen sind abgestanden und sein müssen gestrichen:

myapp | MyDeletedModel 

Alle auf diese Inhaltstypen durch einen Fremdschlüssel verwandte Objekte ebenfalls gelöscht werden. Möchten Sie diese Inhaltstypen wirklich löschen? Wenn Sie sich nicht sicher sind, antworten Sie mit "Nein".

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

Ich bin verwirrt, warum ich diese Aufforderung erhalten ist es eine Möglichkeit, diese Aufforderung stoppen aus zeigt, wenn wir online gehen? wir verwenden, um eine CI-Umgebung, wo wir haben die Benutzer nicht verfügbar „Ja“ oder „Nein“

Dank

Antwort

11

Der Content Framework enthält Verweise zu beantworten Tabellen zu modellieren. In diesem Fall haben Sie einen veralteten Verweis auf die Tabelle, die Sie gerade gelöscht haben. Es ist absolut sicher, yes zu beantworten und den veralteten Inhaltstyp zu entfernen. Es wäre eine andere Geschichte, wenn Sie eine Tabelle umbenannten, die eine GenericForeignKey zeigte, in welchem ​​Fall andere Objekte eine ForeignKey zu der ContentType haben würden, und die Löschung würde entlang diesen Beziehungen kaskadieren.

In einer Live-Umgebung können Sie die Option --noinput übergeben, um diese Eingabeaufforderung zu unterdrücken. Es wird jedoch standardmäßig no. Es ist normalerweise nicht wirklich ein Problem, ein paar abgestandene Inhalte zu haben.

+0

Dank @knbk, werde ich mit unserem ci guy überprüfen, wie wir die Migrationen für --noinput ausführen, wenn wir dies einmal beantworten, wird es sich an die Antwort erinnern, oder werden wir bei jeder Migration aufgefordert? –

+0

Sie werden jedes Mal aufgefordert, wenn Sie eine Migration ausführen, die ein Modell umbenennt oder entfernt. – knbk

+0

ok, ich schaue auf die Tabelle django_contenttype. Ich sehe keine Reihe mehr für den Tisch, als ich mit Ja antwortete. Aber wenn ich nein sage, wird die nächste Migration ausgelöst, oder? –

Verwandte Themen