SuperAPI AI 工具集

azuresql-db-scaffold

数据与分析

查看项目

更新于 10-16 06:47

技能介绍

用途:为新建应用(.NET Aspire、FastAPI、Next.js、NestJS)搭建以本地 Azure SQL Database 容器为默认开发数据库的项目骨架。该容器是 Azure SQL 引擎,而非 SQL Server 镜像。

必要用法与限制:

  • 必须使用引擎镜像 sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest,不可用 mcr.microsoft.com/mssql/server。镜像为 x64,非 x64 主机需加 --platform linux/amd64(Docker)或 platform: linux/amd64(compose)。镜像仓库为私有,需用预览计划的拉取凭据先 docker login。
  • 引擎不会自动创建数据库;须在 master 连接上先 CREATE DATABASE appdb,再以 Database=appdb 连接。避免用 USE 切换数据库(用户库会话返回 Msg 40508),应在连接字符串中指定目标库。master 连接仅用于预配。
  • 镜像不会自动执行 /docker-entrypoint-initdb.d/*.sql;预配 appdb 后再用 sqlcmd -d appdb -i seed.sql 播种。
  • 需设置 ACCEPT_EULA=Y 与复杂 MSSQL_SA_PASSWORD(至少 8 位,含大写、小写、数字、符号中至少三类),引擎监听 1433。
  • 应用读取环境变量 SQL_CONNECTION_STRING,形如 Server=localhost,1433;Database=appdb;User Id=sa;Password=$MSSQL_SA_PASSWORD;TrustServerCertificate=true;端口应使用实际分配的 HOST_PORT。sqlcmd 用 -C 信任自签名证书。
  • 首次迁移由各栈迁移工具执行,如 Next.js/NestJS 用 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 需 SET QUOTED_IDENTIFIER ON 且至少 100 行非空向量。

验证规则:确认容器 EngineEdition 为 5;脚手架目标为引擎镜像;数据访问全部使用参数化查询。各栈具体片段见 references/scaffold-snippets.md。资料未提供各栈端到端执行验证结果。