SuperAPI AI 工具集

azuresql-db-scaffold

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:为新项目生成脚手架,使其默认连接本地 Azure SQL Database 容器(私有预览),支持 .NET Aspire(EF Core)、FastAPI(SQLAlchemy/pyodbc)、Next.js(Prisma)、NestJS(Prisma 或 TypeORM)四种技术栈。注意这是 Azure SQL 引擎,不是 mcr.microsoft.com/mssql/server 的 SQL Server 镜像;若生成的命令指向后者应停止并更换。可选平台为 x64,非 x64 主机需加 --platform linux/amd64 或 compose 的 platform: linux/amd64。镜像仓库为私有,需先用 docker login 登录 sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io(凭据来自预览注册,可能轮换)。

主要能力与必要用法:启动容器后须在 master 连接上先 CREATE DATABASE appdb,再以 Database=appdb 连接;不要用 USE 切换数据库(用户库会话中会返回 Msg 40508)。镜像不会自动执行 /docker-entrypoint-initdb.d/*.sql,需在 appdb 创建后用 sqlcmd -d appdb -i seed.sql 播种。连接串通过 SQL_CONNECTION_STRING 环境变量提供:Server=localhost,<HOST_PORT>;Database=appdb;User Id=sa;Password=<MSSQL_SA_PASSWORD>;TrustServerCertificate=true。Prisma 用 sqlserver:// URL 写入 DATABASE_URL。首次迁移示例:npx prisma migrate dev --name init。向量场景支持 VECTOR(n) 列与 VECTOR_DISTANCE('cosine', a, b),插入需 CAST(CAST(? AS NVARCHAR(MAX)) AS VECTOR(n)),n 必须是字面量而非绑定参数;CREATE VECTOR INDEX(DiskANN) 可用,需 SET QUOTED_IDENTIFIER ON 且至少 100 行非空向量。要求工具最低版本:sqlcmd go-sqlcmd 1.10.0、.NET SDK 8.0.421、Prisma 6.19.3,变更资源前先校验版本。

适用场景:在本地以 Azure SQL 引擎行为开发新应用、验证迁移与数据访问层。

限制:仓库、标签均属私有预览,可能变动;各技术栈脚手架片段本身未做端到端执行验证,仅按栈文档核对结构。详细引擎信息(就绪、向量、排错)见 azuresql-db-container 技能,迁移流程见 azuresql-db-schema-migration 技能。禁止使用 USE 切换库、禁止依赖自动建库或自动播种、禁止不带 -l 轮询 sqlcmd、禁止把向量维度作为绑定参数、禁止在应用配置中硬编码 1433 端口。验证需 EngineEdition 为 5,且完成一次参数化查询往返并清理生成的服务、网络、卷与临时环境文件。