用途:该技能用于在编写、审查、重构 SQLAlchemy 模型与 Alembic 迁移时提供务实的生产级实践指导,尤其关注数据库结构变更的安全性与查询性能。
主要能力:按优先级给出规则分类。索引管理(关键到高):始终在索引操作中使用 postgresql_concurrently=True 搭配 autocommit 块;确认 SQLAlchemy 查询拥有合适的索引。约束安全(高):将唯一约束创建拆分为并发索引加约束两步;添加外键时先用 NOT VALID 再单独验证;列类型变更采用多步方式以避免表锁。优化(中):检查约束先用 NOT VALID 再单独验证;非唯一索引最多限制为三列。索引效率(低):避免被复合索引覆盖的冗余索引。
使用方式:阅读 rules/ 目录下的各规则文件,包括 only-concurrent-indexes.md、verify-query-patterns-are-indexed.md、unique-constraint.md、split-foreign-key.md、change-column-type.md、split-check-constraint.md、limit-non-unique-index.md、ensure-index-not-covered.md。每个规则文件包含原因说明、影响级别、错误示例与正确实现。
适用场景:编写 Alembic 迁移、创建或修改模型、通过迁移添加索引约束外键、审查迁移安全性、重构数据库结构、优化查询模式与性能。
限制:资料仅提供目录与规则摘要,未给出完整代码示例、支持数据库范围、版本要求或安装步骤,这些信息暂未提供。