Skip to content

Add a migrate:dry-run command #580

Description

@Baskarayelu

Summary

Print the SQL the next migrate up would run without executing it.

Background

This change improves the day-to-day experience for the people who consume this code (operators, downstream contracts, frontend engineers, support). It is not a strict bug, but the current behaviour forces workarounds and the proposed change removes them.

Acceptance criteria

  • The change matches the summary above.
  • No regression in the existing test suite.
  • The change is documented where it is observable (README, docs/, public API reference).
  • Lint, type-check, and tests all pass locally.
  • PR description references this issue with Closes #<this-issue>.

Implementation hints

  • Keep the public API surface backwards-compatible if possible. If a breaking change is unavoidable, document the migration step.
  • Land any new constant in a single place (config/, consts.rs, or the equivalent) and re-use it everywhere.
  • Update the relevant docs/ page in the same PR so reviewers see the docs change together with the code change.
  • Add or update the corresponding test so the new behaviour is locked in.

Repo-specific notes

  • Run npx tsc --noEmit, npm test, and the security:scan / sbom:check scripts locally before pushing.
  • Any new request or response shape must have a matching Zod schema and a regenerated OpenAPI entry.
  • New env vars must be added to .env.example and to the relevant deployment doc.

Out of scope

  • Unrelated refactors in adjacent files.
  • Stylistic-only changes (formatting, renaming) that are not required by the fix.
  • Anything beyond the acceptance criteria above; surface follow-ups as separate issues.

How to claim and submit

  1. Comment on this issue saying you'd like to take it on; wait for a maintainer to assign you (avoids duplicated effort).
  2. Open a PR that references this issue (Closes #<this-issue>).
  3. Make sure CI is green and request review from a CODEOWNERS maintainer.
  4. PRs that close this issue and pass review may qualify for a reward — see the MAYBE REWARDED label and the GrantFox OSS campaign page.

Category: enhancement  ·  Campaign: GrantFox OSS · Official Campaign · Maybe Rewarded

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions