Example #1
0
def initialize_sql(engine,
                   setup_mappers,
                   create_tables_on_init=False,
                   Base=None):
    log.debug("initialize_sql: %r" % engine)
    # uhm
    try:

        # and explicit mappings

        meta = MetaData()
        meta.bind = engine

        meta = setup_mappers(meta=meta, engine=engine)
        if create_tables_on_init:
            meta = create_tables(meta)

        if Base:
            Base.metadata = meta  #.bind = engine
        meta.Session = scoped_session(
            sessionmaker(
                #extension=ZopeTransactionExtension(),
                bind=engine))
        #meta.Session.configure(bind=engine)
        #sessionmaker(bind=engine)

        assert meta is not None
        return meta
    except Exception, e:
        log.error(engine)
        log.error(DBSession)
        log.exception(e)
        raise