Example #1
0
def setup_db(config=None, uri=None, echo=False):
    """Setup database

    """
    from sqlalchemy import create_engine
    from nowin_core.database.tables import initdb
    if config is None:
        config = get_config()
    if uri is None:
        uri = config['database']['uri']
    engine = create_engine(uri, convert_unicode=True, echo=echo)
    initdb(engine)
    return engine
Example #2
0
def create_session(echo=False, zope_transaction=True):
    """Create engine and session, return session then

    """
    from sqlalchemy import create_engine
    from nowin_core.database.tables import initdb
    from zope.sqlalchemy import ZopeTransactionExtension

    engine = create_engine('sqlite:///', convert_unicode=True, echo=echo)
    initdb(engine)
    from nowin_core.database.tables import DeclarativeBase, DBSession
    DeclarativeBase.metadata.create_all(bind=engine)
    DBSession.configure(bind=engine,
                        extension=ZopeTransactionExtension())
    if zope_transaction:
        DBSession.configure(extension=ZopeTransactionExtension())
    return DBSession
Example #3
0
 def initTables(self):
     from nowin_core.database import tables
     tables.initdb(self.engine)
     self.logger.info('Bound tables')