Skip to content

v1.0.5

Choose a tag to compare

@atj4me atj4me released this 05 Nov 04:21
· 3 commits to main since this release

Highlights

  • Adds --dry-run preflight mode
  • Adds a disk-space guard for normal runs
  • README gains a "Testing safely" section

--dry-run preflight

ddev sql-sync @prod @self --dry-run performs every check up to the dump — and nothing destructive:

  • SSH connectivity (BatchMode, 10s timeout, through the jump host if configured)
  • Platform and dump-strategy detection, probed exactly as a real run probes
  • Credential resolution, reported as database name and username only — the password is never printed, and a fixture test asserts it never appears
  • Resolved database size from information_schema
  • Tmp-dir writability and free space
  • mysqldump presence, when needed
  • Local dump-dir check

Each check reports an ok / FAIL verdict, followed by the plan:

  • Strategy, source, and size estimate
  • Local landing path
  • Whether sanitize would run, and which kind

It closes by stating that no dump was taken and nothing was written on the server.

By construction, the dump execution sits behind a single preflight gate in the remote script, and tests assert that in dry-run mode:

  • No dump command runs
  • No remote temp file is created
  • Nothing is imported

Disk-space guard

Normal runs gain the matching guard: before dumping, the run aborts with a clear message if free space in the remote tmp dir is less than the estimated database size.

Documentation

README gains a Testing safely section: dry-run, then --no-sync, then a full run.