feat(db): migrate to timestamp-based migrations to prevent PR conflicts #3414
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is this PR about?
This change addresses the issue of migration file conflicts when multiple contributors create migrations in parallel. The previous sequential numbering system (0001_, 0002_, etc.) caused conflicts when two PRs both added migrations.
Changes:
prefix: 'timestamp'to drizzle.config.ts for future migrationsmigration:newscript that enforces descriptive migration namesmigration:convertscript for the one-time conversionThe timestamp format prevents conflicts because each migration gets a unique prefix based on when it was created (e.g., 20240627143052_add-feature.sql).
New workflow for contributors:
pnpm run migration:new add-user-preferences
This generates migrations with meaningful names and timestamp prefixes, eliminating merge conflicts and improving migration readability.
Checklist
Before submitting this PR, please make sure that:
canarybranch.Issues related (if applicable)
Screenshots (if applicable)