agentskills.codes
DA

database-migration

創建和執行 TypeORM 資料庫遷移,管理 schema 變更

Install

mkdir -p .claude/skills/database-migration-xiangteng007 && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15740" && unzip -o skill.zip -d .claude/skills/database-migration-xiangteng007 && rm skill.zip

Installs to .claude/skills/database-migration-xiangteng007

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

創建和執行 TypeORM 資料庫遷移,管理 schema 變更
32 charsno explicit “when” trigger

About this skill

Database Migration Skill

管理 TypeORM 資料庫遷移。

創建遷移

自動生成(從 Entity 變更)

cd backend
npm run migration:generate -- src/migrations/DescriptiveName

手動創建空白遷移

cd backend
npm run migration:create -- src/migrations/DescriptiveName

執行遷移

運行所有待執行遷移

npm run migration:run

回滾上一次遷移

npm run migration:revert

查看遷移狀態

npm run migration:show

遷移檔案結構

import { MigrationInterface, QueryRunner } from 'typeorm';

export class DescriptiveName1234567890 implements MigrationInterface {
    name = 'DescriptiveName1234567890';

    public async up(queryRunner: QueryRunner): Promise<void> {
        // 升級操作
        await queryRunner.query(`ALTER TABLE ...`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        // 回滾操作
        await queryRunner.query(`ALTER TABLE ...`);
    }
}

最佳實踐

  1. 命名規範: 使用描述性名稱,如 AddUserEmailIndex
  2. 原子性: 每個遷移只做一件事
  3. 可回滾: 確保 down() 方法正確實作
  4. 測試: 在開發環境先測試遷移
  5. 備份: 生產環境執行前先備份資料庫

Search skills

Search the agent skills registry