Skip to main content

database-migrations

PostgreSQL、MySQL、一般的なORM(Prisma、Drizzle、Kysely、Django、TypeORM、golang-migrate)全体のスキーマ変更、データマイグレーション、ロールバック、ゼロダウンタイムデプロイメントのためのデータベースマイグレーションベストプラクティス。

소스 정보

저장소
affaan-m/ECC
최근 소스 활동
2026년 5월 17일 06:31
감지된 SKILL.md 언어
일본어
스타
279,616
포크
41,604

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
database-migrations
description
PostgreSQL、MySQL、一般的なORM(Prisma、Drizzle、Kysely、Django、TypeORM、golang-migrate)全体のスキーマ変更、データマイグレーション、ロールバック、ゼロダウンタイムデプロイメントのためのデータベースマイグレーションベストプラクティス。
origin
ECC
# データベースマイグレーションパターン 本番環境システム用の安全で可逆的なデータベーススキーマ変更。 ## アクティベーション時期 - データベーステーブルの作成または変更 - 列またはインデックスの追加/削除 - データマイグレーション(バックフィル、変換)の実行 - ゼロダウンタイムスキーマ変更を計画 - 新しいプロジェクト用のマイグレーションツール設定 ## コア原則 1. **すべての変更はマイグレーション** — 本番環境データベースを手動で変更しない 2. **マイグレーションは本番環境で前方のみ** — ロールバックは新しい前向きマイグレーション使用 3. **スキーマとデータマイグレーションは分離** — 1つのマイグレーションでDDLとDMLを混ぜない 4. **本番環境サイズのデータに対してマイグレーションをテスト** — 100行で機能するマイグレーション10M上でロックされる場合がある 5. **マイグレーションは展開後は不変** — 本番環境で実行されたマイグレーションを編集しない ## マイグレーション安全チェックリスト マイグレーションを適用する前に: - [ ] マイグレーションはUPとDOWNの両方を持つ(または明示的に不可逆としてマーク) - [ ] 大型テーブルの完全テーブルロックなし(並行操作使用) - [ ] 新しい列はデフォルトまたはnullable(デフォルトなしでNOT NULLを追加しない) - [ ] インデックスは並行して作成(既存テーブルのCREATE TABLEでインライン化しない) - [ ] データバックフィルはスキーマ変更から分離したマイグレーション - [ ] 本番環境データのコピーに対してテスト - [ ] ロールバック計画を文書化 ## PostgreSQL パターン ### 列を安全に追加 ```sql -- GOOD: Nullable列、ロックなし ALTER TABLE users ADD COLUMN avatar_url TEXT; -- GOOD: デフォルト付きの列(Postgres 11+は即座、書き直しなし) ALTER TABLE users ADD COLUMN is_active BOOLEAN NOT NULL DEFAULT true; -- BAD: 既存テーブルのデフォルトなしで NOT NULL(完全書き直し必須) ALTER TABLE users ADD COLUMN is_active BOOLEAN NOT NULL; ``` 詳細についてはドキュメントを参照してください。
GitHub에서 보기