import sys from flask import current_app from sqlalchemy import create_engine from sqlalchemy.exc import OperationalError from sqlalchemy.ext.automap import automap_base from sqlalchemy.orm import Session lesia_base = automap_base() engine = create_engine(current_app.config['LESIA_AGENTS_DB_URI']) # reflect the tables try: lesia_base.prepare(engine, reflect=True) except OperationalError as oe: current_app.logger.error(oe) current_app.logger.error("Please, configure the mysql database (see db_config.py)") sys.exit(-1) lesia_session = Session(engine) # mapped classes are now created with names by default # matching that of the table name. lesia_agent = lesia_base.classes.agent lesia_service = lesia_base.classes.gestit_services lesia_project = lesia_base.classes.gestit_projets lesia_fonction = lesia_base.classes.gestit_fonctions lesia_affectation = lesia_base.classes.gestit_affectations lesia_periods = lesia_base.classes.gestit_semestres lesia_domains = lesia_base.classes.gestit_domaines lesia_poles = lesia_base.classes.poles lesia_domainprojects = lesia_base.classes.gestit_domaine_projets