prisma-database-setup-sqlserver

作者: prisma

SQL Server 设置。使用此 Prisma 功能时的参考。

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-sqlserver

SQL Server Setup

Configure Prisma with Microsoft SQL Server.

Prerequisites

  • SQL Server 2017, 2019, 2022, or Azure SQL
  • TCP/IP enabled

1. Schema Configuration

In prisma/schema.prisma:

datasource db {
  provider = "sqlserver"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

2. Config Configuration (v7)

In prisma.config.ts:

import { defineConfig, env } from 'prisma/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  datasource: {
    url: env('DATABASE_URL'),
  },
})

3. Environment Variable

In .env:

DATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=Password123;encrypt=true;trustServerCertificate=true"

Connection String Format

sqlserver://HOST:PORT;database=DB;user=USER;password=PASS;encrypt=true;trustServerCertificate=true
  • encrypt: Required for Azure (true).
  • trustServerCertificate: True for self-signed certs (local dev).

Driver Adapter (Prisma ORM 7 required)

Prisma ORM 7 uses the query compiler by default, so you must use a driver adapter.

  1. Install adapter and driver:

    npm install @prisma/adapter-mssql mssql
    
  2. Instantiate Prisma Client with the adapter:

    import 'dotenv/config'
    import { PrismaClient } from '../generated/client'
    import { PrismaMssql } from '@prisma/adapter-mssql'
    
    const adapter = new PrismaMssql({
      server: 'localhost',
      port: 1433,
      database: 'mydb',
      user: process.env.SQLSERVER_USER,
      password: process.env.SQLSERVER_PASSWORD,
      options: {
        encrypt: true,
        trustServerCertificate: true,
      },
    })
    
    const prisma = new PrismaClient({ adapter })
    

Common Issues

"Login failed for user"

  • SQL Server auth vs Windows auth. Prisma typically uses SQL Server authentication (username/password).
  • Ensure TCP/IP is enabled in SQL Server Configuration Manager.

"Table not found" (dbo schema)

Prisma assumes dbo schema by default. If using another schema, update the model or connection string? SQL Server provider mostly sticks to default schema.

来自 prisma 的更多技能

prisma-cli-migrate-reset
prisma
prisma migrate reset
official
prisma-cli-validate
prisma
prisma 验证。使用此 Prisma 功能时的参考。
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
以全新视角(作为没有先前背景的团队成员)审查一个或多个ADR,识别叙述和结构问题,然后重写它们。适用于……
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
Prisma CLI命令、选项及工作流程的完整参考,涵盖设置、迁移和数据库操作。包含20多个按优先级组织的命令:设置(init)、生成(generate)、开发(dev)、数据库操作(db pull/push/seed/execute)和迁移(migrate dev/deploy/reset/status/diff/resolve)。包括Prisma 7.x变更:新的prisma.config.ts配置文件,已移除的标志(--skip-generate、--skip-seed、--schema、--url),以及显式...
official
prisma-client-api
prisma
完整的Prisma客户端API参考,涵盖模型查询、CRUD操作、过滤、关联和事务。包含17种模型查询方法,如findUnique、findMany、create、update、delete、upsert及批量操作及其返回变体。提供用于塑造结果的查询选项:select、include、omit、orderBy、take、skip、cursor和distinct。包括标量和逻辑过滤运算符(equals、in、contains、startsWith、lt、gt)以及关联过滤器(some、...)
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial