Commit Graph

14 Commits

Author SHA1 Message Date
jubnl 66703efeb7 feat(db): generated entities declare their repository type; test casts dropped 2026-09-22 18:01:45 +02:00
jubnl 570a6ede85 fix(db): generator names relation properties in captured UNIQUE constraints 2026-09-22 15:46:46 +02:00
jubnl 310a3b0ad3 fix(db): generator captures inline UNIQUE constraints
SqliteSchemaHelper.getIndexes() drops every unnamed sqlite_autoindex_
entry before entity-generator ever sees it, so a table-level
UNIQUE(...) constraint with no separate named CREATE UNIQUE INDEX
(settings' UNIQUE(user_id, key) among ~40 others) never reached the
generated entity's uniques: metadata. Adds a general
RULE9_addImplicitUniqueConstraints (skips a column set identical to
the table's own primary key — AppSettings.key/Addons.id noise) fed by
a PRAGMA index_list/index_info scan, and regenerates every entity.
2026-09-22 14:13:09 +02:00
jubnl 11eeed46ee fix(db): no NaN class-field initialisers; entity generator --check gate in CI; parity normaliser keeps literal case 2026-09-22 11:42:48 +02:00
jubnl 60d6e1fcd1 refactor(db): every entity in the snake_case shape; document-sync entities added; one repository per entity 2026-09-22 11:01:36 +02:00
jubnl 257529b250 fix(db): generator guard rails — validation cannot mask hidden()/index loss; typed JSON; loud failures 2026-09-22 10:24:10 +02:00
jubnl 4a67be3f87 feat(db): primary-relation entities proven (BudgetCategoryOrder, VacayUserSettings) 2026-09-22 08:35:46 +02:00
jubnl 6d6b6932f4 test(db): entity metadata must match the migrated schema; fix the four drifts it found 2026-09-22 08:25:43 +02:00
jubnl 229f4890df feat(db): snake_case entity shape and the first three repositories (Days, DayNotes, Trips) 2026-09-21 09:39:40 +02:00
jubnl 9ca9ca9644 feat(db): discover entities from an explicit list instead of a glob 2026-09-21 08:50:56 +02:00
jubnl 70e970453e migrations + seeders 2026-09-20 21:38:32 +02:00
jubnl 55ad55e90b rename entities 2026-09-20 20:05:18 +02:00
jubnl 7cd9ba3dcb fix date as string 2026-09-20 19:55:13 +02:00
jubnl e48b6e6990 base entities 2026-09-20 17:02:52 +02:00