Passed
Pull Request — dev (#234)
by Stephan
01:10
created

data.datasets.initdb.initdb()   A

Complexity

Conditions 3

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 5
nop 0
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
from airflow.operators.python_operator import PythonOperator
2
3
from egon.data import db
4
from egon.data.datasets import DEFAULTS, Dataset
5
6
7
def initdb():
8
    """ Initialize the local database used for data processing. """
9
    engine = db.engine()
10
    with engine.connect().execution_options(autocommit=True) as connection:
11
        for extension in ["hstore", "postgis", "postgis_raster"]:
12
            connection.execute(f"CREATE EXTENSION IF NOT EXISTS {extension}")
13
14
15
dataset = Dataset(
16
    name="database-structure",
17
    version="0.0.0",
18
    dependencies=[],
19
    graph=PythonOperator(task_id="initdb", python_callable=initdb, **DEFAULTS),
20
)
21