示例#1
0
文件: schema.py 项目: toluaina/pgsync
def setup(config=None):
    for document in json.load(open(config)):
        database = document.get("database", document["index"])
        create_database(database)
        engine = pg_engine(database=database)
        Base.metadata.drop_all(engine)
        Base.metadata.create_all(engine)
示例#2
0
def setup(config=None):
    for schema in json.load(open(config)):
        create_database(schema.get('index'))
        # create schema
        engine = pg_engine(database=schema.get('index'))
        Base.metadata.drop_all(engine)
        Base.metadata.create_all(engine)
示例#3
0
def setup(config=None):
    for document in json.load(open(config)):
        database = document.get('database', document['index'])
        create_database(database)
        # create schema
        engine = pg_engine(database=database)
        Base.metadata.drop_all(engine)
        Base.metadata.create_all(engine)
示例#4
0
def setup(config=None):
    for document in json.load(open(config)):
        database = document.get("database", document["index"])
        schema = document.get("schema", SCHEMA)
        create_database(database)
        engine = pg_engine(database=database)
        create_schema(engine, schema)
        engine = engine.connect().execution_options(
            schema_translate_map={None: schema})
        Base.metadata.drop_all(engine)
        Base.metadata.create_all(engine)
示例#5
0
def setup(config=None):
    for document in json.load(open(config)):
        database = document.get('database', document['index'])
        schema = document.get('schema', SCHEMA)
        create_database(database)
        create_extension(database, 'POSTGIS', echo=True)
        engine = pg_engine(database=database)
        create_schema(engine, schema)
        engine = engine.connect().execution_options(
            schema_translate_map={None: schema})
        Base.metadata.drop_all(engine)
        Base.metadata.create_all(engine)
示例#6
0
 def test_create_database(
     self,
     mock_logger,
     mock_pg_engine,
     mock_pg_execute,
     connection,
 ):
     database = connection.engine.url.database
     mock_pg_engine.return_value = connection.engine
     create_database(database, echo=True)
     assert mock_logger.debug.call_count == 2
     mock_logger.debug.assert_any_call(f"Creating database: {database}")
     mock_logger.debug.assert_any_call(f"Created database: {database}")
     mock_pg_engine.assert_any_call(database="postgres", echo=True)
     mock_pg_execute.assert_any_call(
         connection.engine,
         f"CREATE DATABASE {database}",
     )
示例#7
0
def engine(dns):
    engine = sa.create_engine(dns)
    drop_database("testdb")
    create_database("testdb")
    yield engine
    engine.dispose()