django: Modelle von Migrationen ausschließen

8

In meiner django-Anwendung (django 1.8) verwende ich zwei Datenbanken, eine ' default ', die MySQL ist, und eine andere, die eine schemalose, schreibgeschützte Datenbank ist. Ich habe zwei Modelle, die auf diese Datenbank zugreifen, und ich möchte diese beiden Modelle dauerhaft von Daten- und Schema-Migrationen ausschließen:

  • makemigrations sollte niemals Änderungen erkennen und Migrationen für sie erstellen
  • migrate sollte sich niemals über fehlende Migrationen für diese App beschweren

Bisher habe ich verschiedene Dinge ausprobiert, alles ohne Erfolg:

  • hat die Option managed=False Meta für beide Modelle
  • verwendet
  • hat meinem Router eine allow_migrate -Methode hinzugefügt, die False für beide Modelle zurückgibt

Hat jemand ein Beispiel dafür, wie dieses Szenario erreicht werden kann? Danke für Ihre Hilfe!

    
thekorn 28.10.2015, 07:53
quelle

2 Antworten

1
  

Bisher habe ich verschiedene Dinge ausprobiert, alles ohne Erfolg:

     
  • hat die Option managed = False Meta für beide Modelle
  • verwendet   

Diese Option (das Attribut managed = False in den Metaoptionen des Modells) scheint die Anforderungen zu erfüllen.

Wenn nicht, müssen Sie die Frage erweitern, um genau zu sagen, was das Besondere an Ihrem Modell ist, dass managed = False die Aufgabe nicht erledigt.

    
bignose 17.05.2017 02:45
quelle
0

Ich dachte, ich habe ein Problem mit Makemigrationen. Es gibt vor, die Migration für managed = False model durchzuführen, aber für dieses Modell wurde kein SQL-Code generiert

Hier ist mein Beispiel, Modell Smdocumets unmanaged, und es wurde kein SQL-Code generiert.

  

python manage.py Makemigrationen

%Vor%
  

python manage.py sqlmigrate Monitor 0005

%Vor%     
Lamak 02.11.2017 01:59
quelle