refactor: full database snapshot/restore, remove table selection #95

Merged
jmiller merged 8 commits from dev into main 2026-05-31 01:24:07 +00:00
Owner

Summary

  • Demo reset now uses full mysqldump/restore instead of selective tables
  • Eliminates risk of breaking the site by restoring stale #__extensions or #__assets
  • Uses mysqldump CLI when available, PHP-based fallback
  • Removed SnapshotTables field and table selection config
  • Media snapshots limited to /images/ only (never /media/ which contains core Joomla assets)
  • Copy button on health API token field
  • NextResetField shows formatted time in site timezone
  • Reset-to-defaults link on table selection (now removed)

Test plan

  • Take snapshot on dev, verify database.sql created
  • Restore snapshot, verify site returns to exact state
  • Verify /media/ directory is never touched
## Summary - Demo reset now uses full mysqldump/restore instead of selective tables - Eliminates risk of breaking the site by restoring stale #__extensions or #__assets - Uses mysqldump CLI when available, PHP-based fallback - Removed SnapshotTables field and table selection config - Media snapshots limited to /images/ only (never /media/ which contains core Joomla assets) - Copy button on health API token field - NextResetField shows formatted time in site timezone - Reset-to-defaults link on table selection (now removed) ## Test plan - [ ] Take snapshot on dev, verify database.sql created - [ ] Restore snapshot, verify site returns to exact state - [ ] Verify /media/ directory is never touched
jmiller added 8 commits 2026-05-31 01:23:54 +00:00
- Remove extra [] from select name (caused nested array storage)
- Flatten nested arrays when reading back broken saved values
- NextResetField shows "Demo mode is off" when disabled
- Clear demo_next_reset param when demo mode is turned off

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 6s
Update Server / Update Server (push) Successful in 28s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
954fdb9e3e
Replaced selective table snapshot with full mysqldump/restore. This
ensures the site returns to an exact known state without the risk of
breaking the installation by restoring stale #__extensions or #__assets.

Uses mysqldump CLI when available, falls back to PHP-based dump.
Removed SnapshotTables field and table selection config — the entire
database is now captured and restored as one unit.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: merge main into dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 24s
15820542a6
jmiller merged commit 2bb2e531ee into main 2026-05-31 01:24:07 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Type
Status
Priority
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoWaaS#95