- 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
47 lines
743 B
Markdown
47 lines
743 B
Markdown
# notes
|
|
|
|
## 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
|
|
|
|
download libraries via
|
|
|
|
```bash
|
|
python -c 'import wn; wn.download("omw-fr")';
|
|
```
|
|
|
|
libraries:
|
|
|
|
odenet:1.4
|
|
omw-es:1.4
|
|
omw-fr:1.4
|
|
omw-it:1.4
|
|
omw-en:1.4
|
|
|
|
upgrade wn package:
|
|
|
|
```bash
|
|
pip install --upgrade wn
|
|
```
|
|
|
|
check if wn is available, eg italian:
|
|
|
|
```bash
|
|
python -c "import wn; print(len(wn.words(lang='it', lexicon='omw-it:1.4')))"
|
|
```
|
|
|
|
remove a library:
|
|
|
|
```bash
|
|
python -c "import wn; wn.remove('oewn:2024')" python -c "import wn; wn.remove('oewn:2024')"
|
|
```
|
|
|
|
list all libraries:
|
|
|
|
```bash
|
|
python -c "import wn; print(wn.lexicons())"
|
|
```
|