Add `pipekit export` / `pipekit apply` (pipekit/config_io.py) to serialise the DB's config — drivers, connections, modules (+ columns, watermarks, hooks), groups, schedules — to a git-trackable text tree under config/, and rehydrate it. SQLite stays runtime state; definitions become diffable/reviewable/ revertible. - config only: run_log/group_run/settings and per-run state columns excluded - name-keyed refs (portable across databases); source_query in .sql sidecars; columns as real JSON arrays for line-by-line diffs - newline-normalised so CRLF-vs-LF is never a spurious change - apply is create/update by name; child collections fully synced; top-level deletes gated behind --prune; --dry-run prints the plan - round-trip is identity (export -> apply --dry-run == nothing to do) Commits the current config/ as the first baseline, capturing the freshly populated columns_json for rm00101/rm00301/iv00101. Documented in SPEC.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
182 lines
5.6 KiB
SQL
182 lines
5.6 KiB
SQL
SELECT
|
|
"DCORD#" AS "dcord#",
|
|
CASE WHEN DCODAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCODAT END AS dcodat,
|
|
RTRIM(DCOTYP) AS dcotyp,
|
|
RTRIM(DCIUSE) AS dciuse,
|
|
RTRIM(DCBCUS) AS dcbcus,
|
|
RTRIM(DCBNAM) AS dcbnam,
|
|
RTRIM(DCBAD1) AS dcbad1,
|
|
RTRIM(DCBATT) AS dcbatt,
|
|
RTRIM(DCBPHO) AS dcbpho,
|
|
RTRIM(DCTRCD) AS dctrcd,
|
|
RTRIM(DCNU28) AS dcnu28,
|
|
RTRIM(DCSHVI) AS dcshvi,
|
|
RTRIM(DCSCUS) AS dcscus,
|
|
RTRIM(DCSNAM) AS dcsnam,
|
|
RTRIM(DCSAD1) AS dcsad1,
|
|
RTRIM(DCSAD2) AS dcsad2,
|
|
RTRIM(DCSAD3) AS dcsad3,
|
|
RTRIM(DCSAD4) AS dcsad4,
|
|
RTRIM(DCSAD5) AS dcsad5,
|
|
RTRIM(DCSAD6) AS dcsad6,
|
|
RTRIM(DCSAD7) AS dcsad7,
|
|
RTRIM(DCSAD8) AS dcsad8,
|
|
RTRIM(DCSAD9) AS dcsad9,
|
|
RTRIM(DCSAD10) AS dcsad10,
|
|
RTRIM(DCSPOS) AS dcspos,
|
|
RTRIM(DCPO) AS dcpo,
|
|
RTRIM(DCQUOT) AS dcquot,
|
|
RTRIM(DCCURR) AS dccurr,
|
|
CASE WHEN DCMDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCMDAT END AS dcmdat,
|
|
RTRIM(DCSLMN) AS dcslmn,
|
|
DCCPCT AS dccpct,
|
|
DCCRAT AS dccrat,
|
|
RTRIM(DCRES) AS dcres,
|
|
RTRIM(DCFSTL) AS dcfstl,
|
|
RTRIM(DCPSTL) AS dcpstl,
|
|
RTRIM(DCPPCL) AS dcppcl,
|
|
RTRIM(DCGDIS) AS dcgdis,
|
|
RTRIM(DCGDSF) AS dcgdsf,
|
|
RTRIM(DCSTAT) AS dcstat,
|
|
RTRIM(DCWOPR) AS dcwopr,
|
|
"DCNDL#" AS "dcndl#",
|
|
DCTOTO AS dctoto,
|
|
DCTDIS AS dctdis,
|
|
DCTTAX AS dcttax,
|
|
DCTFRT AS dctfrt,
|
|
DCTWGT AS dctwgt,
|
|
RTRIM(DCTWUN) AS dctwun,
|
|
DCTVOL AS dctvol,
|
|
RTRIM(DCTVUN) AS dctvun,
|
|
RTRIM(DCAVPR) AS dcavpr,
|
|
CASE WHEN DCUDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCUDAT END AS dcudat,
|
|
RTRIM(DCUSRE) AS dcusre,
|
|
RTRIM(DCUSRC) AS dcusrc,
|
|
"DCINV#" AS "dcinv#",
|
|
DCOBAL AS dcobal,
|
|
RTRIM(DCARBK) AS dcarbk,
|
|
RTRIM(DCSTKL) AS dcstkl,
|
|
DCRFNO AS dcrfno,
|
|
CASE WHEN DCXDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCXDAT END AS dcxdat,
|
|
RTRIM(DCTERR) AS dcterr,
|
|
RTRIM(DCSLIP) AS dcslip,
|
|
RTRIM(DCCARC) AS dccarc,
|
|
RTRIM(DCSERC) AS dcserc,
|
|
CASE WHEN DCSDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCSDAT END AS dcsdat,
|
|
CASE WHEN DCHDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCHDAT END AS dchdat,
|
|
CASE WHEN DCDDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCDDAT END AS dcddat,
|
|
CASE WHEN DCFDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCFDAT END AS dcfdat,
|
|
CASE WHEN DCRDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCRDAT END AS dcrdat,
|
|
CASE WHEN DCQDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCQDAT END AS dcqdat,
|
|
CASE WHEN DCCDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCCDAT END AS dccdat,
|
|
RTRIM(DCHREA) AS dchrea,
|
|
RTRIM(DCBOFG) AS dcbofg,
|
|
RTRIM(DCAPLG) AS dcaplg,
|
|
RTRIM(DCFOBC) AS dcfobc,
|
|
RTRIM(DCSCOM) AS dcscom,
|
|
RTRIM(DCOSRC) AS dcosrc,
|
|
RTRIM(DCOFXD) AS dcofxd,
|
|
RTRIM(DCSLCS) AS dcslcs,
|
|
RTRIM(DCCRTY) AS dccrty,
|
|
RTRIM(DCCRDT) AS dccrdt,
|
|
RTRIM("DCCRD#") AS "dccrd#",
|
|
RTRIM(DCEXPR) AS dcexpr,
|
|
RTRIM(DCHODR) AS dchodr,
|
|
DCCRNM AS dccrnm,
|
|
RTRIM(DCSHBF) AS dcshbf,
|
|
RTRIM(DCCLEN) AS dcclen,
|
|
DDFTTX AS ddfttx,
|
|
RTRIM(DCFUT1) AS dcfut1,
|
|
RTRIM(DCFUT2) AS dcfut2,
|
|
RTRIM(DCFLG1) AS dcflg1,
|
|
RTRIM(DCFLG2) AS dcflg2,
|
|
RTRIM(DCREFN) AS dcrefn,
|
|
RTRIM(DCPLNT) AS dcplnt,
|
|
RTRIM(DCFUT3) AS dcfut3,
|
|
RTRIM(DCFUT4) AS dcfut4,
|
|
RTRIM(DCFUT5) AS dcfut5,
|
|
RTRIM(DCFUT6) AS dcfut6,
|
|
RTRIM(DCFUT7) AS dcfut7,
|
|
RTRIM(DCFUT8) AS dcfut8,
|
|
RTRIM(DCFUT9) AS dcfut9,
|
|
CASE WHEN DCDAT1 IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCDAT1 END AS dcdat1,
|
|
CASE WHEN DCDAT2 IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCDAT2 END AS dcdat2,
|
|
RTRIM(DCFLG3) AS dcflg3,
|
|
RTRIM(DCFLG4) AS dcflg4,
|
|
RTRIM(DCFLG5) AS dcflg5,
|
|
RTRIM(DCFLG6) AS dcflg6,
|
|
RTRIM(DCFLG7) AS dcflg7,
|
|
DCFUT10 AS dcfut10,
|
|
DCFUT11 AS dcfut11,
|
|
DCFUT12 AS dcfut12,
|
|
DCFUT13 AS dcfut13,
|
|
DCFUT14 AS dcfut14,
|
|
DCFUT15 AS dcfut15,
|
|
DCFUT16 AS dcfut16,
|
|
DCFUT17 AS dcfut17,
|
|
DCFUT18 AS dcfut18,
|
|
DCFUT19 AS dcfut19,
|
|
DCFUT20 AS dcfut20,
|
|
RTRIM(DCDEPT) AS dcdept,
|
|
RTRIM(DCPROM) AS dcprom,
|
|
RTRIM(DCCLMO) AS dcclmo,
|
|
RTRIM(DCTTMZ) AS dcttmz,
|
|
RTRIM(DCCTMZ) AS dcctmz,
|
|
RTRIM(DCOTMZ) AS dcotmz,
|
|
RTRIM(DCMTMZ) AS dcmtmz,
|
|
RTRIM(DCQTMZ) AS dcqtmz,
|
|
RTRIM(DCSTMZ) AS dcstmz,
|
|
DCMTME AS dcmtme,
|
|
CASE WHEN DCMXDT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE DCMXDT END AS dcmxdt,
|
|
DCMXTM AS dcmxtm,
|
|
RTRIM(DCR870) AS dcr870,
|
|
RTRIM(DCS870) AS dcs870,
|
|
RTRIM(DCFCHG) AS dcfchg,
|
|
RTRIM(DCSTTP) AS dcsttp,
|
|
RTRIM(DCSCNS) AS dcscns,
|
|
RTRIM(DCOTMC) AS dcotmc,
|
|
RTRIM(DCOFOM) AS dcofom,
|
|
RTRIM(DCOFTM) AS dcoftm,
|
|
RTRIM(DCAPPTM) AS dcapptm,
|
|
RTRIM(DCEXPO) AS dcexpo,
|
|
RTRIM(DCSDLV) AS dcsdlv,
|
|
RTRIM(DCSPIC) AS dcspic,
|
|
RTRIM(DCFRTC) AS dcfrtc,
|
|
RTRIM(DCCPLT) AS dccplt,
|
|
RTRIM(DCSDBC) AS dcsdbc,
|
|
RTRIM(DCSDBS) AS dcsdbs,
|
|
RTRIM(DCSDSC) AS dcsdsc,
|
|
RTRIM(DCSDSS) AS dcsdss,
|
|
RTRIM(DCSDCR) AS dcsdcr,
|
|
RTRIM(DCSCPO) AS dcscpo,
|
|
RTRIM(DCSCOR) AS dcscor,
|
|
RTRIM(DCFROM) AS dcfrom,
|
|
RTRIM(DCSCTY) AS dcscty,
|
|
RTRIM(DCSPOV) AS dcspov,
|
|
RTRIM(DCSCRY) AS dcscry,
|
|
RTRIM(DCFUT21) AS dcfut21,
|
|
RTRIM(DCFUT22) AS dcfut22,
|
|
RTRIM(DCFUT23) AS dcfut23,
|
|
RTRIM(DCFUT24) AS dcfut24,
|
|
RTRIM(DCFUT25) AS dcfut25,
|
|
RTRIM(DCFUT26) AS dcfut26,
|
|
RTRIM(DCSLSCH) AS dcslsch,
|
|
RTRIM(DCARBOI) AS dcarboi,
|
|
RTRIM(DCBBORT) AS dcbbort,
|
|
RTRIM(DCPBBOR) AS dcpbbor,
|
|
RTRIM(DCSCPHN) AS dcscphn,
|
|
RTRIM(DC4473PN) AS dc4473pn,
|
|
RTRIM(DCSCONT) AS dcscont,
|
|
DCADRSN AS dcadrsn,
|
|
DCHFEE AS dchfee,
|
|
DCHFEETX AS dchfeetx,
|
|
RTRIM(DCAFAX) AS dcafax,
|
|
RTRIM(DCAEMAIL) AS dcaemail,
|
|
RTRIM(DCFOID) AS dcfoid
|
|
FROM LGDAT.OCRH
|
|
WHERE
|
|
(dcudat BETWEEN '{ocrh_wm}' AND CURRENT_DATE)
|
|
OR (dcodat BETWEEN '{ocrh_wm}' AND CURRENT_DATE)
|
|
OR (dccdat BETWEEN '{ocrh_wm}' AND CURRENT_DATE)
|
|
|