Architecture
Database Quick Reference

Source: data_layer/docs/QUICK_REFERENCE.md

Database Quick Reference

πŸš€ Common Commands

Seeds (Development)

# Load a seed in Python
python -c "from database.schemas.seeds import load_seed; print(load_seed('leagues/mltt.seed.json'))"
 
# List all seeds
find database/schemas/seeds -name "*.seed.json" | wc -l
 
# Add new seed
vim database/schemas/seeds/leagues/new-league.seed.json
git add database/schemas/seeds/leagues/new-league.seed.json

Examples (Production)

# Seed all examples
uv run python scripts/seed.examples.py
 
# Seed specific category
uv run python scripts/seed.examples.py --category triage
 
# Clear and reseed
uv run python scripts/seed.examples.py --clear --category triage
 
# Check seeded data
psql $DATABASE_URL -c "SELECT category, COUNT(*) FROM \"FewShotExample\" GROUP BY category;"

Python Usage

# Development: Load seed
from database.schemas.seeds import load_seed
league = load_seed("leagues/mltt.seed.json")
 
# Production: Query examples
from database.storage.examples import FewShotExamplesAPI
api = FewShotExamplesAPI()
examples = await api.get_examples_for_prompt(
    prompt_text="Premium basketball partnership",
    prompt_type="triage",
    max_examples=3
)
 
# Direct Prisma query
from prisma import Prisma
db = Prisma()
await db.connect()
examples = await db.fewshotexample.find_many(
    where={"category": "triage", "quality_score": {"gte": 0.8}},
    take=5
)

πŸ“ Directory Map

database/
β”œβ”€β”€ schemas/
β”‚   β”œβ”€β”€ seeds/              # Development test data (240+ files)
β”‚   β”‚   β”œβ”€β”€ leagues/        # 101 league definitions
β”‚   β”‚   β”œβ”€β”€ questionnaires/ # 53 questionnaire examples
β”‚   β”‚   β”œβ”€β”€ schemas/        # 105 schema seeds
β”‚   β”‚   β”œβ”€β”€ samples/        # 5 sample datasets
β”‚   β”‚   └── synthetic_emails/ # 34 test emails
β”‚   β”‚
β”‚   └── examples/
β”‚       └── few_shot/       # Future: Schema examples
β”‚
└── storage/
    └── examples/           # Production few-shot KB
        β”œβ”€β”€ data/           # JSONL files (11 files, 349 lines)
        β”œβ”€β”€ api.py          # High-level API
        β”œβ”€β”€ retriever.py    # Core retrieval
        β”œβ”€β”€ matcher.py      # Similarity matching
        └── cache.py        # LRU cache

🎯 When to Use What

TaskUse This
Writing unit testsschemas/seeds/
Development testingschemas/seeds/
Production AI queriesstorage/examples/
Semantic searchstorage/examples/ API
Manual curationEdit schemas/seeds/ JSON
Update prod examplesEdit storage/examples/*.jsonl β†’ reseed
Fast retrievalFewShotExamplesAPI

⚑ Quick Wins

Find High-Quality Examples

SELECT example_id, category, quality_score, usage_count
FROM "FewShotExample"
WHERE quality_score > 0.85
ORDER BY usage_count DESC
LIMIT 10;

Check Example Coverage

SELECT 
    category,
    COUNT(*) as total,
    COUNT(CASE WHEN quality_score >= 0.8 THEN 1 END) as high_quality,
    AVG(quality_score) as avg_quality
FROM "FewShotExample"
GROUP BY category;

Find Unused Examples

SELECT example_id, category, quality_score
FROM "FewShotExample"
WHERE usage_count = 0
  AND created_at < NOW() - INTERVAL '30 days'
ORDER BY quality_score DESC;

πŸ”§ Troubleshooting

Seeds Not Loading

# Check file exists
ls database/schemas/seeds/leagues/mltt.seed.json
 
# Validate JSON
python -m json.tool database/schemas/seeds/leagues/mltt.seed.json

Examples Not Retrieving

# Check DB connection
echo $DATABASE_URL
 
# Check seeded count
psql $DATABASE_URL -c "SELECT COUNT(*) FROM \"FewShotExample\";"
 
# Reseed if needed
uv run python scripts/seed.examples.py --clear

Cache Issues

from database.storage.examples import ExampleCache
cache = ExampleCache()
cache.clear()  # Reset cache

πŸ“š Full Documentation

  • Architecture Guide: database/DATA_ARCHITECTURE_GUIDE.md
  • Seeds README: database/schemas/seeds/README.md
  • Examples README: database/storage/examples/README.md
  • Retrieval System: database/storage/RETRIEVAL_SYSTEM_README.md
  • Migration Guide: database/storage/MIGRATION_GUIDE.md

πŸ’‘ Pro Tips

  1. Seeds are fast to edit - use for rapid iteration
  2. Examples need seeding - edit JSONL then run seed script
  3. Never edit DB directly - always edit JSONL files
  4. Quality matters - aim for 0.85+ quality_score
  5. Cache helps - FewShotExamplesAPI caches by default
  6. Track usage - high usage_count = valuable example
  7. Keep both - seeds and examples serve different purposes

Quick ref for database/schemas and database/storage systems Last Updated: 2025-01-14

Platform

Documentation

Community

Support

partnership@altsportsdata.comdev@altsportsleagues.ai

2025 Β© AltSportsLeagues.ai. Powered by AI-driven sports business intelligence.

πŸ€– AI-Enhancedβ€’πŸ“Š Data-Drivenβ€’βš‘ Real-Time