Also, ich habe zwei Dokumente in MongoDB modelliert in MongoEngine (klassische relationale Datenbank Beispiel)Migrating MongoDB Felder mit MongoEngine
class Person(Document)
name = StringField()
class Address(Document)
person = ReferenceField(Person)
city = StringField()
Eine Person kann mehrere Adressen haben. Ich mag diese Modelle migrieren, so dass diese das neue Schema wird:
class Address(Document)
city = StringField()
class Person(Document)
name = StringField()
address = ListField(ReferenceField(Address))
Diese beide Einstellung und Entschärfen Felder auf den beiden Schemata beinhaltet und obendrein dafür sorgen, dass die alten Address
Einträge werden in die richtigen migriert Person
Adressliste.
In meinem Kopf würde es so etwas wie dies gehen:
- Set Feld
Person
- Für jede
Address
fügen Sie es auf die richtigePerson
durch dieListField
- Unset Feld von
Address
Dies scheint wie ein triviales Beispiel mit einer einfach genug Lösung, obwohl die IM Für mich ist die Integration in die Mongoengine seit einiger Zeit nicht mehr möglich. Durch Ändern der Klassen in Python stürzt der Server mit der Beschwerde fields cannot be resolved
. Auch die Neuordnung der Klassen ist ein Problem, da die Klassenabhängigkeit voneinander abhängt. Darüber hinaus müssen Sammlungen in MongoDB aktualisiert werden.
Ich erinnere mich, dass SQLAlchemy gute Migration Unterstützung hat, aber ich habe nichts ähnliches für Flask + MongoEngine gefunden.
Wer kennt eine gute Lösung dafür?