Beispiel #1
0
def dbsession(settings):
    generate_mappers()
    engine = get_engine(settings)
    truncate_tables(engine)
    session_factory = get_session_factory(engine)
    session = get_tm_session(session_factory, transaction.manager)
    yield session
Beispiel #2
0
def dbsession(settings):
    generate_mappers()
    engine = get_engine(settings, prefix="sqlalchemy_slave.")
    truncate_tables(engine)
    session_factory = get_session_factory(engine)
    session = get_tm_session(session_factory, transaction.manager)
    return session
Beispiel #3
0
def dbsession(settings):
    generate_mappers()
    engine = get_engine(settings)
    init_db(engine, settings['alembic_ini'], force=True)
    truncate_tables(engine)
    session_factory = get_session_factory(engine)
    session = get_tm_session(session_factory, transaction.manager)
    yield session
Beispiel #4
0
def DBSession(settings):  # noqa: ignore=N802
    generate_mappers()
    engine = create_engine(config["sqlalchemy_slave.url"], pool_timeout=10)
    session_factory = sessionmaker()
    session_factory.configure(bind=engine)

    with patch("geomapfish_qgisserver.accesscontrol.create_session_factory",
               return_value=session_factory):
        yield session_factory
def main(argv: List[str] = sys.argv) -> None:
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])

    fileConfig(config_uri, defaults=dict(os.environ))
    options.update(os.environ)
    settings = get_appsettings(config_uri, options=options)
    generate_mappers()

    engine = get_engine(settings)

    with engine.begin() as connection:
        init_db(connection,
                force='--force' in options,
                test='--test' in options)
Beispiel #6
0
def main(_, **settings):
    """
    This function returns a Pyramid WSGI application.
    """
    configuration.init(settings.get('app.cfg'))
    settings.update(configuration.get_config())

    config = Configurator(settings=settings)
    config.include('c2cwsgiutils.pyramid.includeme')

    config.include('c2cgeoportal_admin')

    from c2cgeoportal_commons.testing import (
        generate_mappers,
        get_engine,
        get_session_factory,
        get_tm_session,
    )

    # Initialize the dev dbsession
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'

    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory

    # Make request.dbsession available for use in Pyramid
    config.add_request_method(
        # request.tm is the transaction manager used by pyramid_tm
        lambda request: get_tm_session(session_factory, request.tm),
        'dbsession',
        reify=True
    )

    config.add_subscriber(add_renderer_globals, BeforeRender)
    config.add_subscriber(add_localizer, NewRequest)

    generate_mappers()

    health_check = HealthCheck(config)
    health_check.add_url_check('http://{}/'.format(settings['healthcheck_host']))

    return config.make_wsgi_app()