def get_session(): """ Bemerkung: diese Funktion ist etwas komplizierter, da die session auf drei verschiedenen engines basiert. """ engine = etc.get_engine() binds = {} [binds.update({bv_object:engine}) for bv_object in bv_objects] binds[SyncUser] = engine_ama binds[SyncAliasse] = engine_mucam binds[StaffData02Export_Benutzer_Abbildung] = engine DBSession.configure(binds=binds) bv_tables = [] Base.metadata.create_all(engine, [ StaffData02Export_Benutzer_Abbildung.__table__, Benutzer.__table__, Domain.__table__, Emailadresse.__table__, EmailadresseAlias.__table__, Funktionskonto.__table__, Konto.__table__, konto_emailadresse_abbildungen, Organisationseinheit.__table__, Verteiler.__table__]) session = DBSession() return session
import sqlalchemy as sa import datetime as dt import eiticurator as etc from eiticurator import Base, DBSession, cc from eiticurator.benutzerverwaltung.models import * from eiticurator.benutzerverwaltung.models import PG_SCHEMA, TB_PREFIX AKTUALISIERT = cc.config['benutzerverwaltung.vw_mitarbeiter_aktualisiert'] NEU = cc.config['benutzerverwaltung.vw_mitarbeiter_neu'] MITARBEITER = cc.config['benutzerverwaltung.vw_mitarbeiter'] ECHO = "True" == cc.config['sqlalchemy.echo'] SCHEMA = cc.config['benutzerverwaltung.schema'] engine = etc.get_engine() class MitarbeiterAktualisiert(Base): __tablename__ = AKTUALISIERT __table_args__ = ( sa.PrimaryKeyConstraint('eid'), { 'autoload': True, 'autoload_with': engine, 'schema': SCHEMA, }) class MitarbeiterNeu(Base): __tablename__ = NEU __table_args__ = ( sa.PrimaryKeyConstraint('mid'),