Wir verwenden die Autoload-Funktion von sqlalchemy, um Spaltenzuordnungen zu machen, um eine Hardcodierung in unserem Code zu verhindern.sqlalchemy autoloaded orm Persistenz
class users(Base):
__tablename__ = 'users'
__table_args__ = {
'autoload': True,
'mysql_engine': 'InnoDB',
'mysql_charset': 'utf8'
}
Gibt es eine Möglichkeit zur Serialisierung oder Cache automatisch geladen Metadaten/orms so müssen wir nicht jedes Mal durch den Autoload-Prozess gehen wir brauchen, um unsere ORM-Klassen aus anderen Skripten/Funktionen verweisen?
Ich habe Becherglas Caching und Gurke betrachtet, aber habe keine klare Antwort gefunden, wenn es möglich ist oder wie es geht.
Idealerweise laufen wir autload Mapping-Script nur dann, wenn wir Änderungen an unserer Datenbankstruktur begangen haben, aber eine nicht-autoload/persistent/Cache-Version unserer Datenbank Mapping von allen anderen Skripten/Funktionen verweisen,
Irgendwelche Ideen?
Warum nicht umgekehrt: Definieren Sie das vollständige Modell in SA. Als Nebeneffekt fungiert dies als Quellcodeverwaltung für das Datenbankschema. * Natürlich funktioniert das nur, wenn Ihre SA-Anwendung die primäre Kontrolle über die Datenbank (en) hat, mit denen Sie arbeiten * – van
Datenbankentwicklung wird in meinem Fall separat gehandhabt, bedeutet die Anwendung wird nicht wie volle Kontrolle. Ich habe jedoch einen Weg gefunden, Metadaten zu pickeln, so dass ich nur einmal über die Datenbankverbindung reflektieren muss, um die Beize zu erzeugen, die Zeit, in der ich die eingelegten Metadaten verwende, um einen Bruchteil der Zeit über die db-Verbindung abzubilden (siehe unten). – user1572502