fix(music-lab): revenue avg_rpm 공식 수정 + UNIQUE 제약 + 테스트 보강
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -131,7 +131,8 @@ def init_db() -> None:
|
||||
rpm_usd REAL NOT NULL DEFAULT 0.0,
|
||||
country TEXT NOT NULL DEFAULT '',
|
||||
source TEXT NOT NULL DEFAULT 'manual',
|
||||
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
||||
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
||||
UNIQUE(yt_video_id, record_month, country)
|
||||
)
|
||||
""")
|
||||
conn.execute("CREATE INDEX IF NOT EXISTS idx_rr_month ON revenue_records(record_month DESC)")
|
||||
@@ -567,7 +568,7 @@ def get_revenue_dashboard() -> dict:
|
||||
).fetchone()
|
||||
by_month = conn.execute(
|
||||
"""SELECT record_month, SUM(revenue_usd) as revenue, SUM(views) as views,
|
||||
AVG(rpm_usd) as avg_rpm FROM revenue_records
|
||||
CASE WHEN SUM(views) > 0 THEN ROUND(SUM(revenue_usd) / SUM(views) * 1000, 4) ELSE 0.0 END as avg_rpm FROM revenue_records
|
||||
GROUP BY record_month ORDER BY record_month DESC LIMIT 12"""
|
||||
).fetchall()
|
||||
by_country = conn.execute(
|
||||
|
||||
Reference in New Issue
Block a user