Demo DB: feature-rich seed (12 objects, 500-row audit log) + regenerate action in Settings
- 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
This commit is contained in:
@@ -76,6 +76,10 @@ export async function recreateDemoDb(): Promise<string> {
|
||||
return invoke<string>("recreate_demo_db");
|
||||
}
|
||||
|
||||
export async function regenerateDemoDb(): Promise<string> {
|
||||
return invoke<string>("regenerate_demo_db");
|
||||
}
|
||||
|
||||
// ─── DB Viewer Lifecycle ────────────────────────────────────────
|
||||
|
||||
export async function dbConnect(connectionId: string, input: ConnectionInput): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user