Skip to content

Feat/UI schema dual write#78

Merged
aqib-rx merged 3 commits into
feat/unified-schema-pipelinefrom
feat/ui-schema-dual-write
Jun 4, 2026
Merged

Feat/UI schema dual write#78
aqib-rx merged 3 commits into
feat/unified-schema-pipelinefrom
feat/ui-schema-dual-write

Conversation

@aqib-rx
Copy link
Copy Markdown
Collaborator

@aqib-rx aqib-rx commented Jun 4, 2026

Summary

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would change existing behavior)
  • Documentation update
  • Refactor / chore (no user-facing change)

Related issues

Changeset

This repo uses Changesets. If your PR changes any publishable package under packages/*, you must include a changeset:

pnpm changeset

Then commit the generated .changeset/*.md file.

  • I added a changeset (or this PR only touches non-publishable code: docs, tests, internal tooling, apps/*)
  • I selected the correct semver bump (patch / minor / major)

The changeset-check CI job will fail if a publishable package is modified without a changeset.

Test plan

  • pnpm lint
  • pnpm check-types
  • pnpm build
  • Manually verified the change

Checklist

  • I read CONTRIBUTING (if it exists)
  • My commits follow the Conventional Commits spec (enforced by commitlint)
  • I targeted the main branch
  • I updated relevant documentation

Screenshots / recordings

Notes for reviewers

aqib-rx added 3 commits June 3, 2026 17:28
- Replace session advisory lock with a TTL row (nextly_migrate_lock) that
  survives PgBouncer/pooler connection churn; fail-fast and wait modes.
- Add migrateCore (throwing, non-exiting) shared by the CLI and a new
  production run-on-boot hook (runProdMigrationsIfEnabled), gated on
  NODE_ENV=production + db.runMigrationsOnBoot; wired into init + auth-handler.
- Adapt the boot logger to the full Logger surface so run-on-boot apply
  cannot crash on logger.success mid-run.
- Drop-guard now protects internal nextly_ tables.
- nextly migrate --force-unlock; db.runMigrationsOnBoot / migrateLockTtlSeconds
  config; playground ci script (nextly migrate && next build).
- migrate:create now emits a -- DOWN section by inverting the resolved
  forward ops (renames preserved as reverse renames, not data-losing
  drop+add); blank/data-only migrations get an irreversible placeholder.
- New nextly migrate:down reverts the most-recently-applied migration(s)
  using their -- DOWN section: --step N, --allow-data-loss, --yes (prod),
  --dry-run, --force-unlock. Records a rolled_back event so the file becomes
  re-runnable. Restores schema shape, not data.
- Export parseSqlSections/splitSqlStatements/executeTransaction for reuse.
- Docs: rolling-back section + round-trip test recipe.
@github-actions github-actions Bot added scope: core nextly type: docs Documentation only labels Jun 4, 2026
@aqib-rx aqib-rx merged commit b182977 into feat/unified-schema-pipeline Jun 4, 2026
1 of 2 checks passed
@github-actions github-actions Bot added the dependencies Dependency updates (label applied by Dependabot) label Jun 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

PR title fails Conventional Commits check

No release type found in pull request title "Feat/UI schema dual write". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat
 - fix
 - docs
 - style
 - refactor
 - perf
 - test
 - build
 - ci
 - chore
 - revert

Examples of valid titles:

  • feat(admin): add role manager dialog
  • fix(adapter-postgres): handle connection pool exhaustion
  • chore(deps): bump zod to 4.2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates (label applied by Dependabot) scope: core nextly type: docs Documentation only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant