Skip to main content
ClaudeWave
Skill248 repo starsupdated today

sqlx-migration

The sqlx-migration skill automates creation of SQLx database migration files using the SQLx CLI command `sqlx migrate add` instead of manual file creation. Use this skill when asked to add, create, or generate a migration file for a SQLx-based Rust project, as it ensures proper timestamping and file structure while allowing subsequent SQL content to be added to the generated file.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/macro-inc/macro /tmp/sqlx-migration && cp -r /tmp/sqlx-migration/.pi/skills/sqlx-migration ~/.claude/skills/sqlx-migration
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# SQLx Migration

Use the SQLx CLI to create migration files instead of manually creating timestamped files.

## Instructions

1. Identify the project or crate root where SQLx migrations should live.
   - Prefer the directory that contains an existing `migrations/` directory.
   - If there are multiple crates/projects, ask the user which one unless the target is obvious.
2. Convert the requested migration description to a short snake_case name, for example `create_users_table`.
3. Run `just rust/cloud-storage/setup_test_envs` from the project root
4. Run the SQLx CLI from `rust/cloud-storage/macro_db_client` folder:

   ```bash
   cargo sqlx migrate add name_of_migration
   ```

   Replace `name_of_migration` with the actual snake_case migration name.
5. Do not manually add timestamps or hand-create migration filenames; `sqlx migrate add` generates the correct timestamped file.
6. After the command succeeds, read the generated migration file and add the requested SQL changes there.
7. If `sqlx` is not installed or not on `PATH`, stop and tell the user to install `sqlx-cli` rather than manually creating the migration file.