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

@ -7,6 +7,7 @@
"build": "tsc"
},
"dependencies": {
"@glossa/shared": "workspace:*",
"dotenv": "^17.3.1",
"drizzle-orm": "^0.45.1",
"pg": "^8.20.0"