SQLAlchemy: Instanz der Base-Class für ganzes Paket

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
Käptn Haddock
User
Beiträge: 169
Registriert: Freitag 24. März 2006, 14:27

Hallo!

Ich hab mal wieder eine Frage. Ich habe ein Paket. das aus mehreren Modulen besteht, die zahlreiche Klassen und Funktionen enthalten, zusammen das gesamte orm des projekts. Diese sind im Moment pro Modul aud eine Base-Instanz gemappt, was auch jeweils gut funktioniert. Eine modulübergreifende Verknüpfung der Klassen lässt sich so aber nicht abbilden, da die jeweiligen Metadaten auch nur modulweise erstellt werden. Man könnte nun natürlich alles in ein Modul schreiben, was aber nicht wirklich übersichtlich wird, weshalb ich es auch vermeiden möchte. Praktischer wäre es für das gesamte Paket eine Base-Instanz zu erstellen, die jedem Modul zur Verfügung steht.
Frage: Wie mache ich das? Ich habe schon versucht, die Base-Instanz im __init__-Teil des Pakets zu erstellen und global zu machen, was aber nicht funktionert hat, die Module melden nach wie vor eine fehlende Base-Instanz. Genauso wenig wie die Erstellung in der übergeordneten Programm-Ebene, die das orm-Paket importiert und die Datenbanksession aufbaut.
Ich hoffe ich hab mich halbwegs verständlich ausgedrückt ;).

Vielen Dank und Grüsse

Uwe
---------------------------------
have a lot of fun!
Benutzeravatar
Käptn Haddock
User
Beiträge: 169
Registriert: Freitag 24. März 2006, 14:27

Ok, danke fürs Lesen.
Ich hab eine Lösung gefunden. Ich erzeuge die Base-Instanz in einem eigenen Modul des Pakets und kann sie über eine Funktion den anderen Modulen zur Verfügung stellen.

best viewed with open eyes ;)

Gruß Uwe
---------------------------------
have a lot of fun!
Antworten