def get_router(directory, database, verbose=0): from peewee_migrate import LOGGER from peewee_migrate.compat import exec_in from peewee_migrate.router import Router logging_level = VERBOSE[verbose] config = {} migrate_table = 'migratehistory' ignore = schema = None try: with open(os.path.join(directory, 'conf.py')) as cfg: exec_in(cfg.read(), config, config) database = config.get('DATABASE', database) ignore = config.get('IGNORE', ignore) schema = config.get('SCHEMA', schema) migrate_table = config.get('MIGRATE_TABLE', migrate_table) logging_level = config.get('LOGGING_LEVEL', logging_level).upper() except IOError: pass if isinstance(database, string_types): database = connect(database) LOGGER.setLevel(logging_level) try: return Router(database, migrate_table=migrate_table, migrate_dir=directory, ignore=ignore, schema=schema) except RuntimeError as exc: LOGGER.error(exc) return sys.exit(1)
def get_router(directory, database, verbose=0): from peewee_migrate import LOGGER from peewee_migrate.compat import exec_in from peewee_migrate.router import Router logging_level = VERBOSE[verbose] config = {} try: with open(os.path.join(directory, 'conf.py')) as cfg: exec_in(cfg.read(), config, config) database = config.get('DATABASE', database) logging_level = config.get('LOGGING_LEVEL', logging_level).upper() except IOError: pass if isinstance(database, string_types): database = connect(database) LOGGER.setLevel(logging_level) try: return Router(database, migrate_dir=directory) except RuntimeError as exc: LOGGER.error(exc) return sys.exit(1)
def read(self, name): """Read migration from file.""" with open(os.path.join(self.migrate_dir, name + '.py')) as f: code = f.read() scope = {} exec_in(code, scope) return scope.get('migrate', VOID), scope.get('rollback', VOID)
def read(self, name): """Read migration from file.""" call_params = dict() if os.name == 'nt' and sys.version_info >= (3, 0): # if system is windows - force utf-8 encoding call_params['encoding'] = 'utf-8' with open(os.path.join(self.migrate_dir, name + '.py'), **call_params) as f: code = f.read() scope = {} exec_in(code, scope) return scope.get('migrate', VOID), scope.get('rollback', VOID)