Card Evolution Phase 1: card-evolution → next-release #110

Merged
cal merged 28 commits from card-evolution into next-release 2026-03-18 21:29:15 +00:00
5 changed files with 10 additions and 10 deletions
Showing only changes of commit f7bc248a9f - Show all commits

View File

@ -9,10 +9,13 @@ Can be run standalone:
"""
import json
import logging
from pathlib import Path
from app.db_engine import EvolutionTrack
logger = logging.getLogger(__name__)
_JSON_PATH = Path(__file__).parent / "evolution_tracks.json"
@ -50,13 +53,14 @@ def seed_evolution_tracks() -> list[EvolutionTrack]:
track.save()
action = "created" if created else "updated"
print(f" [{action}] {track.name} (card_type={track.card_type})")
logger.info("[%s] %s (card_type=%s)", action, track.name, track.card_type)
results.append(track)
return results
if __name__ == "__main__":
print("Seeding evolution tracks...")
logging.basicConfig(level=logging.INFO)
logger.info("Seeding evolution tracks...")
tracks = seed_evolution_tracks()
print(f"Done. {len(tracks)} track(s) processed.")
logger.info("Done. %d track(s) processed.", len(tracks))

View File

@ -129,7 +129,6 @@ def _build_pitching_groups(plays):
"saves": 0,
"holds": 0,
"blown_saves": 0,
"is_start": False,
}
)
@ -176,7 +175,6 @@ def _apply_decisions(pitching_groups, decisions):
"saves": 0,
"holds": 0,
"blown_saves": 0,
"is_start": False,
}
g = pitching_groups[key]
@ -185,8 +183,6 @@ def _apply_decisions(pitching_groups, decisions):
g["saves"] += decision.is_save
g["holds"] += decision.hold
g["blown_saves"] += decision.b_save
if decision.is_start:
g["is_start"] = True
def _upsert_postgres(player_id, team_id, season, game_id, batting, pitching):

View File

@ -34,7 +34,7 @@ BEGIN;
-- --------------------------------------------
CREATE TABLE IF NOT EXISTS player_season_stats (
id SERIAL PRIMARY KEY,
player_id INTEGER NOT NULL REFERENCES player(id) ON DELETE CASCADE,
player_id INTEGER NOT NULL REFERENCES player(player_id) ON DELETE CASCADE,
team_id INTEGER NOT NULL REFERENCES team(id) ON DELETE CASCADE,
season INTEGER NOT NULL,
-- Batting stats
@ -108,7 +108,7 @@ CREATE TABLE IF NOT EXISTS evolution_track (
-- --------------------------------------------
CREATE TABLE IF NOT EXISTS evolution_card_state (
id SERIAL PRIMARY KEY,
player_id INTEGER NOT NULL REFERENCES player(id) ON DELETE CASCADE,
player_id INTEGER NOT NULL REFERENCES player(player_id) ON DELETE CASCADE,
team_id INTEGER NOT NULL REFERENCES team(id) ON DELETE CASCADE,
track_id INTEGER NOT NULL REFERENCES evolution_track(id) ON DELETE CASCADE,
current_tier INTEGER NOT NULL DEFAULT 0,

View File

@ -1,2 +1,3 @@
[lint]
# db_engine.py uses `from peewee import *` intentionally — suppress star-import warnings
ignore = ["F403", "F405"]

View File

@ -121,7 +121,6 @@ def make_play(game, play_num, batter, batter_team, pitcher, pitcher_team, **stat
ab=0,
hit=0,
run=0,
hr=0,
double=0,
triple=0,
homerun=0,