Add database functions
This commit is contained in:
0
app/data/__init__.py
Normal file
0
app/data/__init__.py
Normal file
36
app/data/db.py
Normal file
36
app/data/db.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from sqlalchemy import create_engine, Text
|
||||
import pandas as pd
|
||||
from dotenv import load_dotenv
|
||||
from pathlib import Path
|
||||
from urllib.parse import quote
|
||||
import os
|
||||
import logging
|
||||
|
||||
|
||||
env_path = Path("config/settings.env")
|
||||
load_dotenv(env_path)
|
||||
|
||||
oracle_conn_str = os.getenv("oracle_conn_str")
|
||||
co_dw_conn_str = os.getenv("co_dw_conn_str")
|
||||
co_daten_conn_str = os.getenv("co_daten_conn_str")
|
||||
|
||||
def get_conn(db):
|
||||
match db:
|
||||
case "oracle":
|
||||
engine = create_engine(oracle_conn_str)
|
||||
case "co_dw":
|
||||
engine = create_engine(co_dw_conn_str)
|
||||
case "co_daten":
|
||||
engine = create_engine(co_dw_conn_str)
|
||||
case _:
|
||||
logging.info(f"Datenbank {db} konnte nicht gefunden werden")
|
||||
return engine
|
||||
|
||||
# def get_data(db):
|
||||
# engine = get_conn(db)
|
||||
# with engine.connect() as conn:
|
||||
# print(engine)
|
||||
# return
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# get_data("co_daten")
|
||||
10
app/data/scriptloader.py
Normal file
10
app/data/scriptloader.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from pathlib import Path
|
||||
|
||||
def get_sql(filename):
|
||||
sql_query = Path(f"app/data/sql/{filename}.sql").read_text()
|
||||
return sql_query
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(get_sql("sales_umsatz"))
|
||||
1
app/data/sql/co_kostenobjekte.sql
Normal file
1
app/data/sql/co_kostenobjekte.sql
Normal file
@@ -0,0 +1 @@
|
||||
select * from bi.Dim_Kostenobjekt
|
||||
1
app/data/sql/sales_umsatz.sql
Normal file
1
app/data/sql/sales_umsatz.sql
Normal file
@@ -0,0 +1 @@
|
||||
select * from umsatz
|
||||
Reference in New Issue
Block a user