- Expand demo schema to exercise every SQLite-available feature: composite PK
(order_items), self-referencing FK (categories), JSON columns (lowercase
'json' so the cell popover triggers), BLOBs (files), no-PK table (page_views,
rowid editing), TEXT PK (app_settings), empty table (marketing_campaigns),
read-only view (order_summary), CHECK/UNIQUE/defaults/indexes, smart-sort
tiers, and a 500-row audit_log for pagination/virtualization/filter demos
- Stamp PRAGMA user_version = 2; stale demo files auto-recreate on launch
(schema is idempotent, guarded inserts)
- Add regenerate_demo_db command: drops live pool handle, wipes + re-seeds
the demo file; new Settings > General > Demo 'Regenerate demo' button with
confirm dialog, loading state, toasts
- Fix Re-add demo to use the app data dir (was temp dir) so both paths match
startup; reload connections after re-add
- Add 9 unit tests (demo.test.rs) covering objects, seed counts, JSON
validity, FK consistency, view queryability, idempotency, constraint
shapes, and stale/regenerate file flows