snipe/app
pyr0ball 59f728cba0 fix: make ALTER TABLE migrations idempotent with IF NOT EXISTS
SQLite's executescript() auto-commits each DDL statement, so a partial
migration failure leaves columns in the DB without marking the migration
done. On the next startup the runner retries and hits duplicate column errors.

Use ADD COLUMN IF NOT EXISTS (SQLite 3.35+, shipped in Python 3.11+)
so migrations 004 and 005 are safe to re-run in any partial state.
2026-04-05 22:18:25 -07:00
..
db fix: make ALTER TABLE migrations idempotent with IF NOT EXISTS 2026-04-05 22:18:25 -07:00
platforms feat: scammer blocklist, search/listing UI overhaul, tier refactor 2026-04-03 19:08:54 -07:00
tasks fix(tasks): address code review — cloud DB path, migration number, connection handling, enqueue site 2026-03-31 17:00:01 -07:00
trust fix: detect eBay condition field for parts/repair listings; add clear-filters btn 2026-04-04 22:42:56 -07:00
ui feat(snipe): eBay trust scoring MVP — search, filters, enrichment, comps 2026-03-26 23:37:09 -07:00
wizard feat: add search UI with dynamic filter sidebar and listing rows 2026-03-25 13:08:55 -07:00
__init__.py feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
tiers.py feat: scammer blocklist, search/listing UI overhaul, tier refactor 2026-04-03 19:08:54 -07:00