Initial scaffold: unified customer/insurance/utilities platform
Next.js + NestJS + Prisma (MySQL) monorepo replacing the legacy PHP internal app. Includes a session-based auth module with Argon2 password hashing and global input validation (replacing the old app's SQL injection and plaintext password comparison), the full target Prisma schema for customers/insurance/utilities/shared ledger/bank register, Docker Compose + Dockerfiles, and an Access-to-staging migration pipeline (migration/) already run against the real source databases. See PLAN.md and RESUME.md for the full architecture and session history.
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
"""
|
||||
Source-database manifest for the staging load (migration plan step 1).
|
||||
|
||||
Exclusions here are deliberately conservative: only tables that are either
|
||||
(a) confirmed empty (0 rows — nothing is lost by skipping them) or (b) have
|
||||
rows but are structurally not customer/business data (mail-merge document
|
||||
templates, materialized Access query results) are excluded. Anything with
|
||||
real rows and an ambiguous purpose (e.g. PROPANO, datosfreak, pagos email)
|
||||
is loaded into staging anyway — the reconciliation pass decides what to do
|
||||
with it, per the migration plan's "don't guess the rule up front" principle.
|
||||
See C:\\Users\\ricar\\.claude\\plans\\logical-yawning-tome.md for the full
|
||||
rationale per table group.
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
SOURCE_ROOT = Path(r"C:\Users\ricar\Downloads\Jorge")
|
||||
|
||||
SOURCES = {
|
||||
"utilities": {
|
||||
"path": SOURCE_ROOT / "UTILITIES.accdb",
|
||||
"schema": "stg_utilities",
|
||||
# Confirmed empty (0 rows) working/scratch tables.
|
||||
"exclude": {
|
||||
"BANCO EDITOR",
|
||||
"Errores de pegado",
|
||||
"TABLE1",
|
||||
"PARA BILLING SIN",
|
||||
"PARA BILLING1",
|
||||
"PARA BILLING2",
|
||||
"PARA EDO",
|
||||
"FALTANTES AGUA",
|
||||
"FALTANTES TEL",
|
||||
"LUZ TODOS",
|
||||
"TELEFONOS FECHAS",
|
||||
"TRUSTHFEE",
|
||||
"faltantes luz",
|
||||
"billing", # 0 rows; superseded by datos2/FEE ANUAL/fee15
|
||||
"TIT", # 1 row, default Access "Contacts" template shell — not real data
|
||||
},
|
||||
},
|
||||
"seguros": {
|
||||
# SEGUROS 16.mdb is an empty linked front-end; all data lives in _be.
|
||||
"path": SOURCE_ROOT / "SEGUROS 16_be.mdb",
|
||||
"schema": "stg_seguros",
|
||||
"exclude": {
|
||||
# Mail-merge document templates (letters/certificates), not data.
|
||||
"AMPL MENS",
|
||||
"AMPL R MENS",
|
||||
"IN MENS",
|
||||
"LIC MENS",
|
||||
"MCA2 MENS",
|
||||
"ME MENS",
|
||||
"MF MENS",
|
||||
"RC MENSAJE",
|
||||
"RC R MENS",
|
||||
# Materialized Access query results, not source-of-truth data.
|
||||
"TODOSJC",
|
||||
"TODOS",
|
||||
"vigenta casa y auto unicos",
|
||||
# Confirmed empty scratch tables.
|
||||
"ID TABLA",
|
||||
"ID TABLATLAS",
|
||||
"TABLA LIQUIDA MCA2",
|
||||
"TABLA LIQUIDA MF",
|
||||
"TABLA LIQUIDA RES",
|
||||
"TABLA LIQUIDA TUR",
|
||||
"TABLA LIQUIDA TUR ENDOSO",
|
||||
"TABLA AUTOS LIMIT R",
|
||||
"BORRA",
|
||||
"GENERICO_OLD",
|
||||
"TIT",
|
||||
},
|
||||
},
|
||||
"scothia": {
|
||||
"path": SOURCE_ROOT / "SCOTHIA.mdb",
|
||||
"schema": "stg_scothia",
|
||||
"exclude": {
|
||||
"INFORME",
|
||||
"INFORME BA",
|
||||
"FECHAIF", # date-range UI parameter table, not data
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user