refactor composer to use sqlalchemy, avoid string concatenations and follow conventions

This commit is contained in:
2026-06-03 12:10:30 -03:00
parent cbc7df8c60
commit be09fcde2c
16 changed files with 546 additions and 273 deletions

View File

@@ -9,8 +9,19 @@
# tables.<name>: one-line description.
# columns.<table>.<col>: one-line description. Sparse — only the ones
# worth describing. Undescribed columns just have
# no description in the recon.
# no description in the recon. A column may also
# carry a domain type, e.g.
# loan.date: {desc: "...", type: date_yymmdd}
# relationships: declared FKs (BIRD ships SQLite without them).
# encodings: OPTIONAL. Storage-encoding overrides keyed by a
# column's `type`. Each maps a role → SQL template
# with a `{col}` placeholder. The composer ships
# defaults (e.g. date_yymmdd); add an entry here only
# to introduce a novel encoding or override a default:
# encodings:
# date_yymmdd:
# as_date: "TO_DATE(LPAD({col}::text, 6, '0'), 'YYMMDD')"
# `financial` stores real DATE columns, so it needs none.
schema: financial