lesia_db.py
1.1 KB
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