SuperAPI AI 工具集

astro-db

数据与分析

查看项目

更新于 10-15 21:48

技能介绍

用途:在 Astro 项目中通过 Astro DB(libSQL/Turso 驱动的类型安全 SQL 数据库)做结构化数据存取,适用于评论、用户、文章、表单等场景,并可与 Astro Actions 组合实现类型安全的表单到数据库流程。

主要能力:在 db/config.ts 中用 defineDb、defineTable 定义表结构并导出表;列类型包括 column.text()、column.number()、column.boolean()、column.date()、column.json()。通过 astro:db 导入 db 与表执行异步、类型安全的 CRUD。生产环境使用 Turso:设置 ASTRO_DB_REMOTE_URL 与 ASTRO_DB_APP_TOKEN 环境变量,运行 astro db push 同步 schema,astro db execute 对远程库执行种子脚本。db/seed.ts 用于开发数据填充。与 astro:actions 结合可形成 Zod 校验→数据库操作→类型化响应的链路。

重要限制:@astrojs/db 已在 npm 弃用(最后版本 v0.21.3),官方 Astro v7 升级指南将其列为 Removed;升级到 Astro 7 前,现有 Astro 6 项目必须迁移。新项目官方建议改用 Drizzle、Kysely、node:sqlite 或直接的 libSQL/Turso 客户端。资料中的 API 说明属于旧版 Astro 6,仅用于维护和迁移既有项目。

使用方式与流程:技能要求在任何实现前并行启动 3 个 Agent 调用(fuse-ai-pilot:explore-codebase 检查现有 db/config.ts、表与 Actions;fuse-ai-pilot:research-expert 核验 Astro DB API;mcp__context7__query-docs 查列类型与 CRUD 文档),实现后运行 fuse-ai-pilot:sniper 验证。建议实践:从 config.ts 导出表供页面与 Actions 导入;变更用 Actions 加 Zod 校验;插入后接 .returning() 取回行;部署前在 CI/CD 执行 astro db push。资料称 Turso 免费层提供 500 个数据库。具体费用、平台支持与效果暂未提供。