Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,216
  • Linux
  • Apple
tests.ts1.98 kB
import { fc, test } from '@fast-check/jest' import testMatrix from './_matrix' // @ts-ignore import type { Prisma as PrismaNamespace, PrismaClient } from './generated/prisma/client' declare let prisma: PrismaClient declare let Prisma: typeof PrismaNamespace const digit = fc.oneof( fc.constant('0'), fc.constant('1'), fc.constant('2'), fc.constant('3'), fc.constant('4'), fc.constant('5'), fc.constant('6'), fc.constant('7'), fc.constant('8'), fc.constant('9'), ) const decimalArbitrary = (precision: number, scale: number) => { const naturalDigits = fc .array(digit, { minLength: 1, maxLength: precision - scale, size: 'max' }) .map((digits) => digits.join('')) .filter((digits) => !digits.startsWith('0')) if (scale === 0) { return naturalDigits } const decimalDigits = fc .array(digit, { minLength: 1, maxLength: scale, size: 'max' }) .map((digits) => digits.join('')) .filter((digits) => !digits.endsWith('0')) return fc.tuple(naturalDigits, decimalDigits).map(([natural, decimal]) => { return `${natural}.${decimal}` }) } testMatrix.setupTestSuite( ({ precision, scale }) => { test.prop([decimalArbitrary(Number(precision), Number(scale))])( 'decimals should not lose precision when written to db', async (decimalString) => { if (process.env.TEST_GENERATE_ONLY === 'true') return const result = await prisma.testModel.create({ data: { decimal: new Prisma.Decimal(decimalString), }, }) return result.decimal.toFixed() === decimalString }, ) }, { optOut: { from: ['sqlite', 'mongodb'], reason: ` sqlite - decimals are floating point and not arbitrary precision mongo - decimals are not supported `, }, skipDriverAdapter: { from: ['js_mssql'], reason: `The mssql driver appears to be losing precision even when receiving a stringified decimal`, }, }, )

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server