Ich entferne eine unnötige Tabelle und ein Modell von unserer Django-Website. Ich habe alle Foreign-Schlüsselreferenzen entfernt, bevor die migrations.DeleteModel (...) aufgerufen wird, aber ich erhalte immer noch die folgende Eingabeaufforderung, wenn ich die Migration ausführen:
Die folgenden Inhaltstypen sind veraltet und müssen gelöscht werden:
%Vor%Alle Objekte, die mit diesen Inhaltstypen durch einen Fremdschlüssel verknüpft sind, werden ebenfalls verwendet gelöscht werden. Möchten Sie diese Inhaltstypen wirklich löschen? Ob Du bist unsicher, antworte mit "Nein".
%Vor%
Ich bin verwirrt, warum ich diese Aufforderung erhalte. Gibt es einen Weg, wie ich diese Aufforderung stoppen kann, wenn wir live gehen? Wir verwenden eine CI-Umgebung, in der wir keine Benutzer haben, die mit "Ja" oder "Nein" antworten können
Danke
Das contenttypes-Framework enthält Verweise auf Modelltabellen. 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. Anders wäre es, wenn Sie eine Tabelle umbenennen würden, auf die ein GenericForeignKey
zeigt. In diesem Fall hätten andere Objekte eine ForeignKey
für diese ContentType
, und das Löschen würde entlang dieser Relationen kaskadieren.
In einer Live-Umgebung können Sie die Option --noinput
übergeben, um diese Aufforderung zu unterdrücken. Es wird jedoch standardmäßig no
verwendet. Es ist normalerweise nicht wirklich ein Problem, ein paar abgestandene Inhalte zu haben.
Tags und Links django django-migrations