スキル backend-migrations
🗃️

backend-migrations

安全 🌐 ネットワークアクセス📁 ファイルシステムへのアクセス⚙️ 外部コマンド

安全なデータベースマイグレーションの作成

こちらからも入手できます: EIS-ITS

データベースマイグレーションは、誤った方法で実行すると本番アプリケーションを破損させる可能性があります。このスキルは、データを保護し、デプロイリスクを最小限に抑える、可逆的でゼロダウンタイムのマイグレーションを作成するための実証済みのガイドラインを提供します。

対応: Claude Codex Code(CC)
📊 71 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「backend-migrations」を使用しています。 Create a migration to add a products table with name, price, description, and category_id columns

期待される結果:

  • マイグレーションファイルを作成: database/migrations/2024_01_15_000001_create_products_table.php
  • 追加されたカラム: name (string), price (decimal), description (text), category_id (unsignedBigInteger)
  • 追加されたインデックス: 外部キーパフォーマンスのためcategory_idカラムにインデックスを設定
  • タイムスタンプを含む: created_atとupdated_at
  • ロールバックメソッド: productsテーブルを完全に削除

「backend-migrations」を使用しています。 Add a new column for user phone numbers to an existing users table

期待される結果:

  • マイグレーションファイルを作成: database/migrations/2024_01_15_000002_add_phone_to_users_table.php
  • 追加されたカラム: phone_number (string, nullable)
  • ゼロダウンタイム技法: まずnullableとしてカラムを追加
  • 追加されたインデックス: nullableカラムにはインデックス不要
  • ロールバックメソッド: phone_numberカラムを削除

「backend-migrations」を使用しています。 Create an index on the orders table for faster customer lookups

期待される結果:

  • マイグレーションファイルを作成: database/migrations/2024_01_15_000003_add_customer_id_index_to_orders.php
  • インデックスタイプ: customer_idカラムにB-treeインデックス
  • 同時作成: ロックを回避するためCONCURRENTLYオプションを使用
  • ロールバックメソッド: customer_id_indexを削除

セキュリティ監査

安全
v5 • 1/17/2026

All 24 static findings are FALSE POSITIVES. These are documentation/metadata files with no executable code. The detected patterns are text in documentation (URLs, file paths, code formatting backticks, security terminology) that trigger pattern matching but pose no actual security risk. The embedded security audit in skill-report.json confirms this skill is safe.

2
スキャンされたファイル
58
解析された行数
3
検出結果
5
総監査数

リスク要因

🌐 ネットワークアクセス (1)
📁 ファイルシステムへのアクセス (4)
⚙️ 外部コマンド (1)
監査者: claude 監査履歴を表示 →

品質スコア

38
アーキテクチャ
100
保守性
85
コンテンツ
30
コミュニティ
100
セキュリティ
91
仕様準拠

作れるもの

安全なマイグレーションパターン

本番環境でデータ損失なく安全にロールバックできるマイグレーションを作成

ゼロダウンタイムデプロイ

サービス中断なく継続的なデプロイを可能にするデータベース変更の計画

マイグレーション標準

バージョン管理ガイドラインを用いて、開発チーム全体で一貫したマイグレーションプラクティスを確立

これらのプロンプトを試す

新規マイグレーションファイル
Create a new migration file to add a users table with name, email, password, and timestamps columns. Include proper indexes and make it reversible.
安全なカラム追加
Add a new column to the orders table in production. Use proper zero-downtime technique. Include rollback logic.
インデックスの作成
Create an index on the orders table for the customer_id column. Use concurrent index creation to avoid locking.
カラムの変更
Modify the orders.total column from decimal to integer. Ensure backward compatibility and include rollback method.

ベストプラクティス

  • マイグレーションを完全に元に戻せるdown()メソッドを常に含める
  • 大規模テーブルではロックを防ぐため同時インデックス作成を使用
  • より安全なデプロイのためスキーマ変更とデータマイグレーションを分離
  • デプロイ前に本番環境に近いデータでマイグレーションをテスト

回避

  • 本番環境にデプロイ済みの既存マイグレーションを変更する
  • データベースエンジンの特性を考慮せずに生SQLを使用する
  • down()メソッドをスキップしたり不完全にしたりする
  • テーブルサイズとロック時間を考慮せずにインデックスを作成する

よくある質問

どのデータベースがサポートされていますか?
LaravelマイグレーションはSchemaビルダーを通じてMySQL、PostgreSQL、SQLite、SQL Serverをサポートしています。
マイグレーションの最大テーブルサイズは?
厳格な制限はありませんが、大規模テーブルではロックとダウンタイムを避けるため慎重な計画が必要です。
既存のデータベースで使用できますか?
はい、Schemaファサードを使用すれば新規および既存のデータベースの両方でマイグレーションが機能します。
マイグレーション中のデータは安全ですか?
このスキルは安全なマイグレーションのガイドラインを提供します。マイグレーション実行前には必ず本番データをバックアップしてください。
マイグレーションが失敗したのはなぜですか?
一般的な原因は、構文エラー、依存関係の欠落、外部キーの競合、または不十分な権限です。
他のマイグレーションツールとの違いは?
このスキルは、ロールバックの安全性とゼロダウンタイムデプロイを含むLaravelのベストプラクティスに焦点を当てています。

開発者の詳細

作成者

DevanB

ライセンス

MIT

参照

master

ファイル構成

📄 SKILL.md