def configure_db(): """ Establish the database, create an engine if needed, and register the models. """ global _ENGINE, sa_logger LOG.debug("Initializing DB") if not _ENGINE: _ENGINE = get_engine() sa_logger = logging.getLogger('sqlalchemy.engine') if CONF.debug: sa_logger.setLevel(logging.DEBUG) if CONF.db_auto_create: LOG.info('auto-creating qonos DB') models.register_models(_ENGINE) try: from qonos.db.sqlalchemy import migration migration.version_control() except exception.DatabaseMigrationError: # only arises when the DB exists and is under version control pass else: LOG.info('not auto-creating qonos DB')
def configure_db(): """ Establish the database, create an engine if needed, and register the models. """ global _ENGINE, sa_logger, _MAX_RETRIES, _RETRY_INTERVAL LOG.debug("Initializing DB") if not _ENGINE: sql_connection = CONF.sql_connection _MAX_RETRIES = CONF.sql_max_retries _RETRY_INTERVAL = CONF.sql_retry_interval connection_dict = sqlalchemy.engine.url.make_url(sql_connection) engine_args = {"pool_recycle": CONF.sql_idle_timeout, "echo": False, "convert_unicode": True} try: _ENGINE = sqlalchemy.create_engine(sql_connection, **engine_args) if "mysql" in connection_dict.drivername: sqlalchemy.event.listen(_ENGINE, "checkout", ping_listener) _ENGINE.connect = wrap_db_error(_ENGINE.connect) _ENGINE.connect() except Exception, err: msg = ( _( "Error configuring registry database with supplied " "sql_connection '%(sql_connection)s'. " "Got error:\n%(err)s" ) % locals() ) LOG.error(msg) raise sa_logger = logging.getLogger("sqlalchemy.engine") if CONF.debug: sa_logger.setLevel(logging.DEBUG) if CONF.db_auto_create: LOG.info("auto-creating qonos DB") models.register_models(_ENGINE) try: migration.version_control() except exception.DatabaseMigrationError: # only arises when the DB exists and is under version control pass else: LOG.info("not auto-creating qonos DB")
def configure_db(): """ Establish the database, create an engine if needed, and register the models. """ global _ENGINE, sa_logger LOG.debug("Initializing DB") if not _ENGINE: _ENGINE = get_engine() sa_logger = logging.getLogger('sqlalchemy.engine') if CONF.debug: sa_logger.setLevel(logging.DEBUG) if CONF.db_auto_create: LOG.info('auto-creating qonos DB') models.register_models(_ENGINE) else: LOG.info('not auto-creating qonos DB')
def configure_db(): """ Establish the database, create an engine if needed, and register the models. """ global _ENGINE, sa_logger, _MAX_RETRIES, _RETRY_INTERVAL LOG.debug("Initializing DB") if not _ENGINE: sql_connection = CONF.sql_connection _MAX_RETRIES = CONF.sql_max_retries _RETRY_INTERVAL = CONF.sql_retry_interval connection_dict = sqlalchemy.engine.url.make_url(sql_connection) engine_args = {'pool_recycle': CONF.sql_idle_timeout, 'echo': False, 'convert_unicode': True } try: _ENGINE = sqlalchemy.create_engine(sql_connection, **engine_args) if 'mysql' in connection_dict.drivername: sqlalchemy.event.listen(_ENGINE, 'checkout', ping_listener) _ENGINE.connect = wrap_db_error(_ENGINE.connect) _ENGINE.connect() except Exception, err: msg = _("Error configuring registry database with supplied " "sql_connection '%(sql_connection)s'. " "Got error:\n%(err)s") % locals() LOG.error(msg) raise sa_logger = logging.getLogger('sqlalchemy.engine') if CONF.debug: sa_logger.setLevel(logging.DEBUG) if CONF.db_auto_create: LOG.info('auto-creating qonos DB') models.register_models(_ENGINE) else: LOG.info('not auto-creating qonos DB')
def reset(): models.unregister_models(_ENGINE) models.register_models(_ENGINE)