45633b5aa0b33f2a088c6151e1a2d0905e4c611c
Purely additive; nothing dropped, renamed or retyped. Owner rulings of 2026-10-06/07, recorded in docs/DATA-MIGRATION-MAP.md. - Customer.nationalCode is now optional. All 1,595 live legacy customers have none, and fabricating one is a data violation. Still @unique: NULLs do not collide in Postgres, so the import must write NULL, not ''. - Customer.birthDate added, empty. Must not be backfilled until the Jalali-vs-Gregorian check (precheck-3) is in. - VerificationStep.REJECTED plus verificationRejectionReason/RejectedAt. Legacy has a third "rejected" state that the enum could not represent. - CustomerFavorite for legacy `fav` (251 rows), which had no home. accounting-sync customerPayload() now takes `nationalCode: string | null`. validNationalCode() already handled null, so Tahesab/Zarrin receive exactly what they did before. Caught by tsc after the column change. Not touched: accounting* columns, ProductVariant.imageId, the Accounting* tables, SMS (PROTECTED.md §B, §G). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Description
No description provided
113 MiB
Languages
JavaScript
69.4%
TypeScript
15.4%
Vue
14.1%
Less
0.6%
PLpgSQL
0.3%
Other
0.1%