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

Open
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 type: testingpriority: highcomponent: enginestatus: ready labels 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.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoJoomBackup#2