-
Stefy Lanza (nextime / spora ) authored
Real bugs surfaced by the retry tests (code referenced schema that did not exist / wrong table): - subscriptions was missing cancelled_at (written when a renewal exhausts its retries and cancels the subscription). - payment_retry_queue was missing last_attempt_at (written when scheduling the next retry). - retry.py queried a non-existent `tiers` table for the free tier; corrected to account_tiers (and is_default = 1 for cross-DB boolean compatibility). Migration changes add the two columns to the CREATE statements and provide idempotent, cross-DB (SQLite PRAGMA / MySQL INFORMATION_SCHEMA) ALTERs for existing databases. test_retry: crypto retries are intentionally skipped without incrementing while the wallet is unfunded, so the increment/downgrade tests now drive a failing gateway charge instead, and expect the same free tier the code selects. Verified all payment migration DDL (CREATE + new ALTERs + INFORMATION_SCHEMA existence checks) executes cleanly on MariaDB/MySQL as well as SQLite. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
38d63406
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| crypto | ||
| fiat | ||
| notifications | ||
| subscription | ||
| wallet | ||
| __init__.py | ||
| migrations.py | ||
| models.py | ||
| scheduler.py | ||
| service.py |