Storytelling with Data
PostgreSQL (Source) -> TRUNCATE (old table) -> Load all rows → MS SQL (Target)
from airflow import DAG
from airflow.providers.postgres.operators.postgres import PostgresOperator
from airflow.providers.microsoft.mssql.operators.mssql import MsSqlOperator
from datetime import datetime
with DAG(dag_id="full_load_customers",
start_date=datetime(2024, 1, 1),
schedule_interval="@daily",
catchup=False) as dag:
truncate_target_table = MsSqlOperator(
task_id='truncate_target_table',
mssql_conn_id='mssql_target',
sql="TRUNCATE TABLE customers;"
)
load_full_data = PostgresOperator(
task_id='load_full_data',
postgres_conn_id='postgres_source',
sql="""
INSERT INTO mssql_target.dbo.customers
SELECT * FROM postgres_source.public.customers;
"""
)
truncate_target_table >> load_full_data
2 · 1.5K ·