logaritmisk
|
bea9b6b39a
|
harden(db): case-insensitive email unique index + dup-email test; list_users pagination TODO; from_db note
|
2026-06-02 14:42:04 +02:00 |
|
logaritmisk
|
f8ec2d7cf1
|
feat(db): users table + repository (create/by_id/by_email/list), audited
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 14:37:43 +02:00 |
|
logaritmisk
|
2aaf98794f
|
feat(db): add object.fields jsonb column, read it into CatalogueObject
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-02 10:54:49 +02:00 |
|
logaritmisk
|
cbed662c18
|
feat(db): add field_definition tables
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 10:16:30 +02:00 |
|
logaritmisk
|
95357f01dd
|
feat(db): non-empty CHECK constraints on object text columns
|
2026-06-02 09:21:08 +02:00 |
|
logaritmisk
|
c1dda280e2
|
feat(db): add object table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 09:18:03 +02:00 |
|
logaritmisk
|
cc1fbf5b7d
|
feat(db): RESTRICT vocabulary deletes; non-empty label/lang constraints
|
2026-06-02 08:46:34 +02:00 |
|
logaritmisk
|
93d54d7783
|
feat(db): add vocabulary, term, and authority tables
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 08:43:23 +02:00 |
|
logaritmisk
|
01c42837d1
|
feat(db): also reject TRUNCATE on audit_log (statement-level trigger)
|
2026-06-02 07:49:47 +02:00 |
|
logaritmisk
|
152fc30116
|
feat(db): schema bootstrap with append-only audit_log table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-02 07:46:39 +02:00 |
|