Test: database dumper — table exclusions, special characters, large tables #2

Closed
opened 2026-06-02 20:29:19 +00:00 by jmiller · 1 comment
Owner

Verify DatabaseDumper handles edge cases correctly.

Scope

  • Table exclusion filters (e.g. #__session)
  • Tables with special characters in data (unicode, quotes, NULLs)
  • Large tables (10k+ rows) with chunked export
  • Only site-prefix tables are included

Acceptance Criteria

  • Excluded tables not present in dump
  • Special characters preserved through dump/import cycle
  • Large tables export without memory exhaustion
  • Non-site-prefix tables are ignored
Verify DatabaseDumper handles edge cases correctly. ## Scope - Table exclusion filters (e.g. #__session) - Tables with special characters in data (unicode, quotes, NULLs) - Large tables (10k+ rows) with chunked export - Only site-prefix tables are included ## Acceptance Criteria - [ ] Excluded tables not present in dump - [ ] Special characters preserved through dump/import cycle - [ ] Large tables export without memory exhaustion - [ ] Non-site-prefix tables are ignored
jmiller added the component: engine label 2026-06-02 20:29:19 +00:00
Author
Owner

Testing Plan

TC-2.1: Table exclusion

  1. Add #__session and #__mail_queue to exclude list
  2. Run backup, open database.sql
  3. Verify neither table appears in dump
  4. Verify all other site tables ARE present

TC-2.2: Special characters

  1. Create an article with unicode (emojis, CJK), single quotes, backslashes, NULL fields
  2. Run backup
  3. Restore to a test database
  4. Verify article content matches original exactly

TC-2.3: Large tables

  1. Insert 10,000 rows into a test table
  2. Run backup, monitor PHP memory usage
  3. Verify all rows present in dump (chunked at 500 rows)
  4. Verify dump file is well-formed SQL

TC-2.4: Prefix isolation

  1. Create a table without the site prefix manually
  2. Run backup
  3. Verify that table is NOT in the dump
## Testing Plan **TC-2.1: Table exclusion** 1. Add `#__session` and `#__mail_queue` to exclude list 2. Run backup, open database.sql 3. Verify neither table appears in dump 4. Verify all other site tables ARE present **TC-2.2: Special characters** 1. Create an article with unicode (emojis, CJK), single quotes, backslashes, NULL fields 2. Run backup 3. Restore to a test database 4. Verify article content matches original exactly **TC-2.3: Large tables** 1. Insert 10,000 rows into a test table 2. Run backup, monitor PHP memory usage 3. Verify all rows present in dump (chunked at 500 rows) 4. Verify dump file is well-formed SQL **TC-2.4: Prefix isolation** 1. Create a table without the site prefix manually 2. Run backup 3. Verify that table is NOT in the dump
Sign in to join this conversation.
Priority Medium
Type Task
Status
Priority
Type
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#2