mcpField
S
sqlalchemy-alembic-expert-best-practices-code-review

sqlalchemy-alembic-expert-best-practices-code-review

github.com/midudevデータ・データベース7.0k63 回インストール1 週間前に更新
リポジトリ

sqlalchemy-alembic-expert-best-practices-code-review について

SQLAlchemyとAlembicの開発・コードレビュー向けの実践的なガイド集です。スキーマ変更、マイグレーション、クエリ性能を扱う開発者を対象に、インデックスや制約を安全に操作する方法を重視します。

主な機能

  1. 01安全なAlembicマイグレーションの指針
  2. 02並行インデックス操作の実践
  3. 03外部キーとチェック制約の段階的追加
  4. 04カラム型の段階的な変更
  5. 05クエリのインデックス確認と重複検査

活用シーン

  1. 01マイグレーションのロックリスクを確認
  2. 02影響を抑えてインデックスを追加
  3. 03段階的なカラム型変更
  4. 04クエリパターンと定義済みインデックスの照合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/midudev/autoskills --skill sqlalchemy-alembic-expert-best-practices-code-review

インストール後、Claude Code で/sqlalchemy-alembic-expert-best-practices-code-reviewを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
change-column-type.md
ensure-index-not-covered.md
limit-non-unique-index.md
only-concurrent-indexes.md
split-check-constraint.md
split-foreign-key.md
unique-constraint.md
verify-query-patterns-are-indexed.md

詳細

SQLAlchemy & Alembic のエキスパート向けベストプラクティス

シンプルで、実用的で、明確な方針に基づいています。本番品質の SQLAlchemy および Alembic コードを書くうえで重要なことだけを扱います。

適用するタイミング

次のような場合に、これらのガイドラインを参照してください。

  • スキーマ変更のための Alembic マイグレーションを作成するとき
  • SQLAlchemy モデルを作成または変更するとき
  • Alembic を使ってインデックス、制約、または外部キーを追加するとき
  • データベースマイグレーションコードの安全性を確認するとき
  • 既存のデータベーススキーマをリファクタリングするとき
  • クエリパターンやデータベースパフォーマンスを最適化するとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1インデックス管理CRITICAL-HIGHonly-concurrent-indexes、verify-query-patterns-are-indexed
2制約の安全性HIGHunique-constraint、split-foreign-key、change-column-type
3最適化MEDIUMsplit-check-constraint、limit-non-unique-index
4インデックスの効率性LOWensure-index-not-covered

クイックリファレンス

  • only-concurrent-indexes - インデックス操作では常に postgresql_concurrently=True を自動コミットブロックと併用します
  • verify-query-patterns-are-indexed - SQLAlchemy クエリに適切なインデックスが定義されていることを確認します
  • unique-constraint - 一意制約の作成を、並行インデックスの作成と制約の追加のステップに分けます
  • split-foreign-key - 外部キーをまず NOT VALID で追加し、その後、別途検証します
  • change-column-type - テーブルロックを避けるため、複数ステップでカラムの型を変更します
  • split-check-constraint - チェック制約をまず NOT VALID で追加し、その後、別途検証します
  • limit-non-unique-index - 効率性のため、非一意インデックスのカラム数を最大3つに制限します
  • ensure-index-not-covered - 複合インデックスですでにカバーされている冗長なインデックスを防ぎます

使用方法

詳しい説明とコード例については、個々のルールファイルを読んでください。

rules/only-concurrent-indexes.md
rules/verify-query-patterns-are-indexed.md
rules/unique-constraint.md
rules/split-foreign-key.md
rules/change-column-type.md
rules/split-check-constraint.md
rules/limit-non-unique-index.md
rules/ensure-index-not-covered.md

各ルールファイルには、次の内容が含まれています。

  • 重要である理由の簡単な説明
  • 影響度とその説明
  • 説明付きの不適切な SQLAlchemy/Alembic の例
  • ベストプラクティスに基づく適切な実装
  • 安全なマイグレーションのための追加情報

コメント