feat: MokoRestore — per-table conflict resolution on database import #132

Closed
opened 2026-06-23 17:07:23 +00:00 by jmiller · 0 comments
Owner

Summary

During database restore, let the user choose what to do with each table instead of blindly DROP + CREATE + INSERT for everything.

Options per table

  • Replace (default) — DROP TABLE IF EXISTS, CREATE TABLE, INSERT all rows
  • Skip — do not restore this table at all (keep existing data)
  • Merge — keep existing table, INSERT IGNORE (skip duplicates)
  • Data only — do not DROP/CREATE, only INSERT data (assumes schema matches)

UI in MokoRestore wizard

  • Before database import step, show table list from database.sql
  • Checkboxes with dropdown for conflict resolution per table
  • "Select All: Replace" / "Select All: Skip" bulk actions
  • Common presets: "Everything except users" / "Content only" / "Structure only"

Use cases

  • Restore content but keep existing users and permissions
  • Restore extension tables but preserve user data
  • Merge articles from one site into another
## Summary During database restore, let the user choose what to do with each table instead of blindly DROP + CREATE + INSERT for everything. ## Options per table - **Replace** (default) — DROP TABLE IF EXISTS, CREATE TABLE, INSERT all rows - **Skip** — do not restore this table at all (keep existing data) - **Merge** — keep existing table, INSERT IGNORE (skip duplicates) - **Data only** — do not DROP/CREATE, only INSERT data (assumes schema matches) ## UI in MokoRestore wizard - Before database import step, show table list from database.sql - Checkboxes with dropdown for conflict resolution per table - "Select All: Replace" / "Select All: Skip" bulk actions - Common presets: "Everything except users" / "Content only" / "Structure only" ## Use cases - Restore content but keep existing users and permissions - Restore extension tables but preserve user data - Merge articles from one site into another
jmiller added the component: engine label 2026-06-23 17:07:23 +00:00
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#132