bump-migration

star 6.5k

Bump a database migration's timestamp to the current time. Required when a PR's migration is older than one already merged to main. Use when asked to "bump migration", "update migration timestamp", or when a migration ordering conflict is detected.

fleetdm By fleetdm schedule Updated 4/6/2026

name: bump-migration description: Bump a database migration's timestamp to the current time. Required when a PR's migration is older than one already merged to main. Use when asked to "bump migration", "update migration timestamp", or when a migration ordering conflict is detected. allowed-tools: Bash(go run ), Bash(make dump-test-schema), Bash(git diff*), Bash(ls *), Read, Grep, Glob model: sonnet effort: medium

Bump a database migration timestamp

Bump the migration: $ARGUMENTS

When to use

This is required when a PR has a database migration with a timestamp older than a migration already merged to main. This happens when a PR has been pending merge for a while and another PR got merged with a more recent migration.

Process

1. Identify the migration to bump

If the user provided a filename, use that. Otherwise, find migrations on this branch that are older than the latest on main:

# List migrations on this branch that aren't on main
git diff origin/main --name-only -- server/datastore/mysql/migrations/tables/

2. Run the bump tool

The tool lives at tools/bump-migration/main.go. Run it from the repo root:

go run tools/bump-migration/main.go --source-migration YYYYMMDDHHMMSS_MigrationName.go

This will:

  • Rename the migration file with a new current timestamp
  • Rename the test file (if it exists)
  • Update all function names inside both files (Up_OLDTSUp_NEWTS, Down_OLDTSDown_NEWTS, TestUp_OLDTSTestUp_NEWTS)

3. Optionally regenerate the schema

If the migration affects the schema, add --regen-schema to also run make dump-test-schema:

go run tools/bump-migration/main.go --source-migration YYYYMMDDHHMMSS_MigrationName.go --regen-schema

4. Verify

  • Check that the old files are gone and new files exist with the updated timestamp
  • Verify the function names inside the files match the new timestamp
  • Run go build ./server/datastore/mysql/migrations/... to check compilation

Rules

  • Always run from the repo root
  • Provide the migration filename, not the test filename
  • The tool handles both the migration and its test file automatically
Install via CLI
npx skills add https://github.com/fleetdm/fleet --skill bump-migration
Repository Details
star Stars 6,489
call_split Forks 914
navigation Branch main
article Path SKILL.md
More from Creator