Troubleshooting
Bricks2Etch reports problems with the full diagnosis on screen — the goal is that you never have to guess from a generic "something went wrong". This page explains the most important messages and what to do about them.
Every message below also lands in the migration log (Bricks2Etch → Logs). When you contact support, attach the log or a support bundle plus the exact wording you see.
"Bricks2Etch: database tables could not be created."
Where: admin notice in wp-admin, together with the list of missing tables and the exact MySQL error.
Why: the plugin creates its own database tables (migration state, logs, import queue, locks). On some managed/hardened hosts the WordPress database user is not allowed to run CREATE TABLE — the tables silently never appear, and every migration feature would fail with "table doesn't exist".
Fix:
- Ask your host to grant the database user the CREATE (and ALTER) privilege — the notice shows the exact MySQL error you can forward.
- Reload any wp-admin page: the installer retries automatically on every admin load and the notice disappears once the tables exist.
"Target site reports missing content after all data was sent …"
Where: shown as the final migration status on the source site (instead of "completed").
Why: after all batches are sent, the source asks the target to confirm that everything actually arrived. When the target answers "content is missing" (for example because import batches failed on the target), Bricks2Etch fails the run with the target's own diagnosis rather than pretending success. The message lists exactly which content types are affected, e.g. post (0/12).
Fix:
- Open Bricks2Etch → Logs on the target site and look for failed import batches around the same time.
- Typical root causes: PHP memory/timeouts on the target while importing large posts or media (see Hosting notes), or a security layer blocking batch traffic.
- Fix the cause (raise limits, lower batch size), then re-run the migration — imports are idempotent, already-arrived content is updated, not duplicated.
"Target import queue did not finish within N minutes …"
Where: final migration status on the source site, including the pending/failed batch counts.
Why: the target processes incoming batches asynchronously through its own job queue. If that queue stops making progress (for example, because the hosting killed the background worker), the source no longer waits forever — it stops after a hard time budget and tells you where to look. Stuck jobs on the target are also detected and restarted automatically; this error appears only when even that did not help.
Fix:
- On the target site, check Tools → Scheduled Actions (Action Scheduler) for
efs_process_import_queue_batchentries that are pending or failed. - Check the target's Bricks2Etch → Logs for batch errors (memory, timeouts).
- Address the host limits, then re-run the migration. Advanced: the wait budget can be adjusted with the
efs_finalization_drain_max_secondsfilter.
TLS warning: "TLS verification failed for media transport" (W027)
Where: warning in the migration log; the migration continues.
Why: media transfers verify the target's HTTPS certificate. When verification fails (expired, self-signed, incomplete chain), Bricks2Etch retries once without verification for that host and logs W027 so you know the transport was not verified.
Fix: repair the target site's TLS certificate. Local/Docker targets with self-signed certificates can safely ignore this warning.
"Bricks2Etch: obsolete plugin folder detected"
Where: admin notice on the Plugins screen.
Why: older installs (before v0.45.0) used the folder wp-content/plugins/etch-fusion-suite/. After updating, the current install lives in bricks2etch/ and the old folder is a leftover.
Fix: use the "Remove obsolete folder safely" button in the notice — or one of the manual options it lists.
:::danger Do NOT delete the old entry via Plugins → Delete
The old folder still contains a destructive legacy uninstall.php (v0.44.5–v0.44.10) that deletes Bricks Builder layouts and global classes. The notice's cleanup button and the listed manual paths (SFTP delete, wp plugin delete etch-fusion-suite --skip-uninstall) bypass it safely.
:::
Migration key is rejected during pairing
Why: keys are time-limited and bound to the target site.
Fix: generate a fresh key on the target and complete the pairing promptly. If the target is behind a proxy/CDN, see Hosting notes — security layers can block the REST calls used for validation.