DWD完成
This commit is contained in:
26
tmp_run_sql.py
Normal file
26
tmp_run_sql.py
Normal file
@@ -0,0 +1,26 @@
|
||||
import os, psycopg2
|
||||
from etl_billiards.tasks.dwd_load_task import DwdLoadTask
|
||||
|
||||
dwd_table="billiards_dwd.dwd_table_fee_log"
|
||||
ods_table="billiards_ods.table_fee_transactions"
|
||||
conn=psycopg2.connect(os.environ["PG_DSN"])
|
||||
cur=conn.cursor()
|
||||
task=DwdLoadTask(config={}, db_connection=None, api_client=None, logger=None)
|
||||
cur.execute("SELECT column_name FROM information_schema.columns WHERE table_schema=%s AND table_name=%s", ("billiards_dwd", "dwd_table_fee_log"))
|
||||
dwd_cols=[r[0].lower() for r in cur.fetchall()]
|
||||
cur.execute("SELECT column_name FROM information_schema.columns WHERE table_schema=%s AND table_name=%s", ("billiards_ods", "table_fee_transactions"))
|
||||
ods_cols=[r[0].lower() for r in cur.fetchall()]
|
||||
cur.execute("SELECT column_name,data_type FROM information_schema.columns WHERE table_schema=%s AND table_name=%s", ("billiards_dwd", "dwd_table_fee_log"))
|
||||
dwd_types={r[0].lower(): r[1].lower() for r in cur.fetchall()}
|
||||
cur.execute("SELECT column_name,data_type FROM information_schema.columns WHERE table_schema=%s AND table_name=%s", ("billiards_ods", "table_fee_transactions"))
|
||||
ods_types={r[0].lower(): r[1].lower() for r in cur.fetchall()}
|
||||
mapping=task.FACT_MAPPINGS.get(dwd_table)
|
||||
insert_cols=[d for d,o,_ in mapping if o in ods_cols]
|
||||
select_exprs=[task._cast_expr(o,cast_type) for d,o,cast_type in mapping if o in ods_cols]
|
||||
sql=f"INSERT INTO {task._format_table(dwd_table,'billiards_dwd')} ({', '.join(f'\"{c}\"' for c in insert_cols)}) SELECT {', '.join(select_exprs)} FROM {task._format_table(ods_table,'billiards_ods')} LIMIT 1"
|
||||
print(sql)
|
||||
cur.execute(sql)
|
||||
conn.commit()
|
||||
print('ok')
|
||||
cur.close(); conn.close()
|
||||
|
||||
Reference in New Issue
Block a user