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索引管理严重-高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