Was sind die Vor- und Nachteile der manuellen Erstellung eines ORM für eine vorhandene Datenbank vs Verwendung von Datenbank-Reflektion?Pro und Contra zum manuellen Erstellen eines ORM für eine vorhandene Datenbank?
Ich schreibe Code mit SQLAlchemy, um auf eine bereits vorhandene Datenbank zuzugreifen. Ich weiß, dass ich sqlalchemy.ext.automap
verwenden kann, um das Schema automatisch zu spiegeln und die Zuordnungen zu erstellen.
Allerdings frage ich mich, ob es einen signifikanten Vorteil der manuellen Erstellung der Mapping-Klassen vs lassen die Automap ist es magisch ist.
Bei wesentlichen Vorteil ist, kann sqlalchemy inspectdb
die Python-Mapping-Klassen wie Djangos automatisch generieren? Das würde das Erstellen aller deklarativen Basiszuordnungen viel schneller machen, da ich nur überprüfen und optimieren müsste, anstatt von Grund auf neu zu schreiben.
Bearbeiten: Wie @Iuridiniz unten sagt, gibt es ein paar Lösungen, die Django inspectdb
imitieren. Siehe Is there a Django's inspectdb equivalent for SQLAlchemy?. Die Antworten in diesem Thread sind nicht Python3-kompatibel. Suchen Sie also in sqlacodegen oder flask-sqlacodegen, wenn Sie nach etwas suchen, das tatsächlich gewartet wird.
Mögliche Duplikate von [Gibt es ein Django-Inspectdb-Äquivalent für SQLAlchemy?] (Http://stackoverflow.com/questions/1794564/is-there-a-djangos-inspectdb-equivalent-for-sqlalchemy) – iuridiniz
Vielen Dank für Ihre Suche Das! Das kümmert sich also um die zweite Hälfte der Frage. Irgendwelche Gedanken zur 1. Hälfte? – dthor