bert.hausmans
6b26a90fa1
feat(forms): add core migrations (user_profiles, schemas, fields, submissions, values, webhooks)
...
14 fresh tables per ARCH §4 (v1.2): user_profiles + 13 form_* tables.
ULID PKs on domain rows, integer AI on heavy-join EAV tables (form_values,
form_value_options). All FKs indexed, every constraint named explicitly.
FULLTEXT on form_submissions.search_index is best-effort (wrapped try/catch
so SQLite test runs still apply).
Notes:
- Partial unique indexes on public_token/custom_purpose_slug traded for
regular indexes + application-level uniqueness (MySQL limitation).
- (form_schema_id, slug) on form_fields is a regular index to avoid
soft-delete + re-create collisions; uniqueness enforced in service.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-17 12:02:09 +02:00
..
2026-04-07 10:45:34 +02:00
2026-01-06 03:11:46 +01:00
2026-01-06 03:11:46 +01:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 10:45:34 +02:00
2026-04-07 17:35:34 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-10 11:15:31 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:34:46 +02:00
2026-04-08 01:50:38 +02:00
2026-04-08 07:23:56 +02:00
2026-04-08 07:23:56 +02:00
2026-04-10 21:09:49 +02:00
2026-04-10 11:15:43 +02:00
2026-04-10 11:15:43 +02:00
2026-04-10 21:50:24 +02:00
2026-04-10 12:50:25 +02:00
2026-04-10 20:03:54 +02:00
2026-04-10 23:04:55 +02:00
2026-04-10 23:04:55 +02:00
2026-04-10 23:04:55 +02:00
2026-04-11 09:06:29 +02:00
2026-04-12 22:10:16 +02:00
2026-04-12 22:10:16 +02:00
2026-04-12 22:10:16 +02:00
2026-04-12 22:10:16 +02:00
2026-04-12 22:10:16 +02:00
2026-04-12 22:10:16 +02:00
2026-04-13 00:44:34 +02:00
2026-04-14 06:52:54 +02:00
2026-04-14 08:44:24 +02:00
2026-04-14 08:44:24 +02:00
2026-04-14 15:38:54 +02:00
2026-04-15 20:12:21 +02:00
2026-04-15 20:12:21 +02:00
2026-04-15 20:12:21 +02:00
2026-04-15 20:45:55 +02:00
2026-04-15 20:45:55 +02:00
2026-04-15 20:45:55 +02:00
2026-04-15 20:45:55 +02:00
2026-04-15 22:18:16 +02:00
2026-04-16 02:42:53 +02:00
2026-04-16 16:40:41 +02:00
2026-04-16 03:27:47 +02:00
2026-04-16 07:46:36 +02:00
2026-04-16 18:03:49 +02:00
2026-04-16 18:03:49 +02:00
2026-04-17 10:26:44 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00
2026-04-17 12:02:09 +02:00