← スキル一覧に戻る

database-operations
by MGPowerlytics
⭐ 0🍴 0📅 2026年1月23日
SKILL.md
name: database-operations description: Guide for interacting with the system's PostgreSQL database using the DBManager interface, covering key tables and common patterns. version: 1.0.0
Database Operations
Golden Rule
Data goes in the database. No random CSVs/JSON outside data/ directory.
- JSON/CSV = raw, unclean, not for production
- PostgreSQL = production data storage
DBManager Interface
from db_manager import DBManager, default_db
# Use default connection
df = default_db.fetch_df("SELECT * FROM unified_games WHERE sport = 'nba'")
# Or create custom connection
db = DBManager(connection_string="postgresql://user:pass@host:5432/db")
Key Tables
| Table | Purpose |
|---|---|
unified_games | All games across sports |
game_odds | Kalshi/sportsbook odds |
placed_bets | Bet history and results |
elo_ratings | Historical Elo snapshots |
portfolio_snapshots | Portfolio value over time |
Common Operations
Fetch as DataFrame
df = default_db.fetch_df("""
SELECT * FROM unified_games
WHERE sport = :sport AND game_date >= :start_date
""", {"sport": "nba", "start_date": "2024-01-01"})
Execute Query
default_db.execute("""
UPDATE placed_bets SET status = 'won'
WHERE bet_id = :bet_id
""", {"bet_id": "123"})
Insert DataFrame
df.to_sql("unified_games", default_db.get_engine(),
if_exists="append", index=False)
Upsert Pattern
default_db.execute("""
INSERT INTO game_odds (game_id, source, yes_price)
VALUES (:game_id, :source, :yes_price)
ON CONFLICT (game_id, source)
DO UPDATE SET yes_price = EXCLUDED.yes_price
""", params)
Connection Defaults
From environment or docker-compose:
- Host:
localhost - Port:
5432 - User:
airflow - Password:
airflow - Database:
airflow
Data Validation
Always validate before commits:
from data_validation import validate_nba_data
report = validate_nba_data()
if not report.is_valid:
raise ValueError(f"Validation failed: {report.errors}")
Files to Reference
plugins/db_manager.py- DBManager classplugins/data_validation.py- Validation utilitiesplugins/database_schema_manager.py- Schema definitions
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です