feat(db): add drizzle schema for vocabulary and deck tables

- terms, translations, term_glosses with cascade deletes and pos check constraint
- language_pairs with source/target language check constraints and no-self-pair guard
- users with openauth_sub as identity provider key
- decks and deck_terms with composite PK and position ordering
- indexes on all hot query paths (distractor generation, deck lookups, FK joins)
- SUPPORTED_POS and SUPPORTED_LANGUAGE_CODES as single source of truth in @glossa/shared
This commit is contained in:
lila 2026-03-28 19:02:10 +01:00
parent be7a7903c5
commit 55885336ba
6 changed files with 203 additions and 1 deletions

View file

@ -3,6 +3,8 @@
## tasks
- pinning dependencies in package.json files
- add this to drizzle migrartions file:
✅ ALTER TABLE terms ADD CHECK (pos IN ('noun', 'verb', 'adjective', etc));
## open word net