claude-memory/graph/solutions/mantimon-tcg-phase-1-db-models-complete-81f5a0.md
Cal Corum b140d4d82a migrate: 313 memories from MemoryGraph
- 313 new markdown files created
- 30 relationships embedded
- 313 entries indexed
- State initialized with usage data
2026-02-13 11:11:48 -06:00

1.5 KiB

id type title tags importance confidence created updated
81f5a09d-e36b-4971-865a-8b79d6fb86d3 solution Mantimon TCG: Phase 1 DB Models Complete
mantimon-tcg
database
sqlalchemy
alembic
phase-1
models
0.85 0.8 2026-01-27T14:52:52.270973+00:00 2026-01-27T14:52:52.270973+00:00

Implemented all Phase 1 database models for Mantimon TCG:

MODELS CREATED:

  • User (app/db/models/user.py): OAuth support, premium subscription, relationships
  • Collection (app/db/models/collection.py): CardSource enum, card ownership tracking
  • Deck (app/db/models/deck.py): JSONB cards/energy_cards, validation state, starter decks
  • CampaignProgress (app/db/models/campaign.py): Single-player progress, medals, mantibucks
  • ActiveGame (app/db/models/game.py): In-progress games, GameType enum, Redis backup
  • GameHistory (app/db/models/game.py): Completed games, EndReason enum, replay data

ALEMBIC SETUP:

  • Configured async Alembic in app/db/migrations/env.py
  • Generated and applied initial migration (7ac994d6f89c_initial_schema.py)
  • Black formatting enabled for migrations

KEY PATTERNS:

  • All models inherit from Base with UUID id, created_at, updated_at
  • JSONB for flexible data (deck cards, campaign medals, game state)
  • Proper indexes on foreign keys and query-heavy columns
  • Relationships with cascade delete where appropriate
  • Enum types created at DB level (card_source, game_type, end_reason)

DOCKER:

  • Using ports 5433 (Postgres) and 6380 (Redis) to avoid conflicts
  • docker-compose.yml updated, .env.example updated, config.py defaults updated