SuperAPI AI 工具集

database

数据与分析

查看项目

更新于 10-16 03:48

技能介绍

用途:按项目约定设计与维护 PostgreSQL 数据库,涵盖表结构设计、迁移文件、索引与约束、外键关系、开发用种子数据以及数据库结构文档编写。资料中给出 src/db/ 目录组织:client.js 为连接池,migrations 存放带序号时间戳的迁移文件,seeds 存放开发种子数据,queries 存放 SQL 查询文件,schema.sql 为完整结构文档。

主要能力:迁移文件采用 up(db)/down(db) 导出,可回滚,并附带 description;迁移运行器 migrate() 通过 migrations 表记录已执行文件,按序执行未运行迁移并在事务中提交或回滚,rollback() 回滚最近一次迁移。设计模式包括:主键可用 UUID DEFAULT gen_random_uuid() 或 SERIAL 或复合主键;统一 created_at/updated_at TIMESTAMPTZ,可用触发器更新 updated_at;软删除用 deleted_at 并配部分索引;JSONB 字段配 GIN 索引;枚举倾向用 CHECK 约束而非 PostgreSQL ENUM;外键、WHERE、ORDER BY 涉及列建索引,另有部分索引与复合索引,索引类型含 B-tree、GIN、GiST、Hash。种子数据用 faker 生成,并以 ON CONFLICT DO NOTHING 保证幂等。

使用方式:创建表时编写带序号的迁移文件,在 up 中执行 CREATE TABLE、索引与 COMMENT;down 中 DROP;运行 migrate() 或 seed() 脚本;查询集中在 queries 目录,使用参数化查询($1、$2)防止 SQL 注入;schema.sql 作为文档不直接执行。

适用场景与限制:适合采用 Node.js 与 pg 连接池的 PostgreSQL 项目、需要可回滚迁移与开发种子数据的工作流。具体安装命令、运行命令、依赖版本与配置方式资料中暂未提供;资料也未提及收费、平台或效果等信息。