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

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

github.com/wispbit-ai数据与数据库82.0k 次安装37 周前更新
代码仓库

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

为编写、优化或审查数据库代码的开发者提供 SQLAlchemy 与 Alembic 实践指南。内容侧重迁移安全、索引管理和分阶段变更约束,并在各规则文件中提供示例。

主要功能

  1. 01并发执行索引操作
  2. 02检查查询模式所需索引
  3. 03分阶段创建唯一约束
  4. 04安全添加并验证外键
  5. 05分步骤修改列类型
  6. 06避免冗余或过宽索引

适用场景

  1. 01审查 Alembic 模式迁移
  2. 02添加索引或数据库约束
  3. 03降低修改列类型时的锁风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wispbit-ai/skills --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索引管理严重-高only-concurrent-indexes、verify-query-patterns-are-indexed
2约束安全性高unique-constraint、split-foreign-key、change-column-type
3优化中split-check-constraint、limit-non-unique-index
4索引效率低ensure-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 - 为保证效率,将非唯一索引限制为最多三列
  • 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 示例及说明
  • 遵循最佳实践的正确实现
  • 安全迁移的其他背景信息

评论

支持 Markdown