From 589b6cee8d042c5480575fbf7e40835886cab2a1 Mon Sep 17 00:00:00 2001 From: Serhii Tatarintsev Date: Wed, 13 Mar 2024 15:08:31 +0100 Subject: [PATCH] qe-wasm: Remove example (#4770) Example is outdated and generally agreed not to be useful anymore. --- .../query-engine-wasm/example/.gitignore | 1 - .../query-engine-wasm/example/example.js | 84 ---- .../query-engine-wasm/example/package.json | 14 - .../query-engine-wasm/example/pnpm-lock.yaml | 382 ------------------ .../example/prisma/schema.prisma | 13 - 5 files changed, 494 deletions(-) delete mode 100644 query-engine/query-engine-wasm/example/.gitignore delete mode 100644 query-engine/query-engine-wasm/example/example.js delete mode 100644 query-engine/query-engine-wasm/example/package.json delete mode 100644 query-engine/query-engine-wasm/example/pnpm-lock.yaml delete mode 100644 query-engine/query-engine-wasm/example/prisma/schema.prisma diff --git a/query-engine/query-engine-wasm/example/.gitignore b/query-engine/query-engine-wasm/example/.gitignore deleted file mode 100644 index 3997beadf829..000000000000 --- a/query-engine/query-engine-wasm/example/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.db \ No newline at end of file diff --git a/query-engine/query-engine-wasm/example/example.js b/query-engine/query-engine-wasm/example/example.js deleted file mode 100644 index c320b442b777..000000000000 --- a/query-engine/query-engine-wasm/example/example.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Run with: `node --experimental-wasm-modules ./example.js` - * on Node.js 18+. - */ -import { readFile } from 'fs/promises' -import { PrismaLibSQL } from '@prisma/adapter-libsql' -import { createClient } from '@libsql/client' -import { bindAdapter } from '@prisma/driver-adapter-utils' -import { QueryEngine, getBuildTimeInfo } from '../pkg/query_engine.js' - - -async function main() { - // Always initialize the Wasm library before using it. - // This sets up the logging and panic hooks. - - const client = createClient({ url: "file:./prisma/dev.db"}) - const adapter = new PrismaLibSQL(client) - const driverAdapter = bindAdapter(adapter) - - console.log('buildTimeInfo', getBuildTimeInfo()) - - const datamodel = await readFile('prisma/schema.prisma', 'utf8') - - const options = { - datamodel, - logLevel: 'info', - logQueries: true, - datasourceOverrides: {}, - env: process.env, - configDir: '/tmp', - ignoreEnvVarErrors: true, - } - const callback = () => { console.log('log-callback') } - - const queryEngine = new QueryEngine(options, callback, driverAdapter) - - await queryEngine.connect('trace') - - const created = await queryEngine.query(JSON.stringify({ - modelName: 'User', - action: 'createOne', - query: { - arguments: { - data: { - id: 1235, - }, - }, - selection: { - $scalars: true - } - } - }), 'trace') - - console.log({ created }) - - const res = await queryEngine.query(JSON.stringify({ - modelName: 'User', - action: 'findMany', - query: { - arguments: {}, - selection: { - $scalars: true - } - } - }), 'trace') - const parsed = JSON.parse(res); - console.log('query result = ') - console.dir(parsed, { depth: null }) - - const error = parsed.errors?.[0]?.user_facing_error - if (error?.error_code === 'P2036') { - console.log('js error:', driverAdapter.errorRegistry.consumeError(error.meta.id)) - } - - // console.log('before disconnect') - await queryEngine.disconnect('trace') - // console.log('after disconnect') - - // console.log('before free') - queryEngine.free() - // console.log('after free') -} - -main() diff --git a/query-engine/query-engine-wasm/example/package.json b/query-engine/query-engine-wasm/example/package.json deleted file mode 100644 index 372d561136bf..000000000000 --- a/query-engine/query-engine-wasm/example/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "module", - "main": "./example.js", - "scripts": { - "dev": "node --experimental-wasm-modules ./example.js" - }, - "dependencies": { - "@libsql/client": "0.5.2", - "@prisma/adapter-libsql": "5.10.2", - "@prisma/client": "5.10.2", - "@prisma/driver-adapter-utils": "5.10.2", - "prisma": "5.10.2" - } -} diff --git a/query-engine/query-engine-wasm/example/pnpm-lock.yaml b/query-engine/query-engine-wasm/example/pnpm-lock.yaml deleted file mode 100644 index f498c0b042eb..000000000000 --- a/query-engine/query-engine-wasm/example/pnpm-lock.yaml +++ /dev/null @@ -1,382 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@libsql/client': - specifier: 0.5.2 - version: 0.5.2 - '@prisma/adapter-libsql': - specifier: 5.10.2 - version: 5.10.2(@libsql/client@0.5.2) - '@prisma/client': - specifier: 5.10.2 - version: 5.10.2(prisma@5.10.2) - '@prisma/driver-adapter-utils': - specifier: 5.10.2 - version: 5.10.2 - prisma: - specifier: 5.10.2 - version: 5.10.2 - -packages: - - /@libsql/client@0.5.2: - resolution: {integrity: sha512-aHnYjsqE4QWhb+HdJj2HtLw6QBt61veSu6IQgFO5rxzdY/rb69YAgYF0ZvpVoMn12B/t9U9U7H3ow/IADo4Yhg==} - dependencies: - '@libsql/core': 0.5.3 - '@libsql/hrana-client': 0.5.6 - js-base64: 3.7.5 - libsql: 0.3.8 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - dev: false - - /@libsql/core@0.5.3: - resolution: {integrity: sha512-vccnRnLIeru4hacfowXDZZRxYyFWN8Z6CSs+951rH7w9JOMzwmetn5IYsXw5VcOIf0P0aLa86Uhvl1MF8jM6pA==} - dependencies: - js-base64: 3.7.5 - dev: false - - /@libsql/darwin-arm64@0.3.8: - resolution: {integrity: sha512-uh9dfDsmx0NfBjJbFm8APPD8E5s18mxmmmuH4IdSTl/xdv9URAeYo8zv9s2SHgM62QbUUcokLDzLgFfOGSsFBA==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@libsql/darwin-x64@0.3.8: - resolution: {integrity: sha512-+5CSFTMs86thuUJW2emzCqrZunueR4ilUV9J1HeZgUtSiQg32/z5GdCR0027JgALqB++yhFGY4WK4SNAPWdKaA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@libsql/hrana-client@0.5.6: - resolution: {integrity: sha512-mjQoAmejZ1atG+M3YR2ZW+rg6ceBByH/S/h17ZoYZkqbWrvohFhXyz2LFxj++ARMoY9m6w3RJJIRdJdmnEUlFg==} - dependencies: - '@libsql/isomorphic-fetch': 0.1.12 - '@libsql/isomorphic-ws': 0.1.5 - js-base64: 3.7.5 - node-fetch: 3.3.2 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - dev: false - - /@libsql/isomorphic-fetch@0.1.12: - resolution: {integrity: sha512-MRo4UcmjAGAa3ac56LoD5OE13m2p0lu0VEtZC2NZMcogM/jc5fU9YtMQ3qbPjFJ+u2BBjFZgMPkQaLS1dlMhpg==} - dependencies: - '@types/node-fetch': 2.6.11 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: false - - /@libsql/isomorphic-ws@0.1.5: - resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - dependencies: - '@types/ws': 8.5.10 - ws: 8.14.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@libsql/linux-arm64-gnu@0.3.8: - resolution: {integrity: sha512-s9blvMx2tA0HGnTHUhEtZZoBLoZqaTxVyjM4qFrxJO84GP902N/DXtbxO2ib6Jbs5rom+78DkpHmi7PzBDLCZA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@libsql/linux-arm64-musl@0.3.8: - resolution: {integrity: sha512-Gw+g5GbeAXdONzpmKVvvdIk/8cCjn0MeN8KNm59xbuwWnkA0NCz94UMD725xOoyl3z+olBxhAdE5yEznLSTcag==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@libsql/linux-x64-gnu@0.3.8: - resolution: {integrity: sha512-XRpzXlbM0ZvPVB8/bhun/4dhRUt4PBo1zTz0njaWo/EQoZNGQkps1IZv7v3wR40Kcug4qvmuXTCGuYPQN4QI7w==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@libsql/linux-x64-musl@0.3.8: - resolution: {integrity: sha512-gjqjqXpSBj3aB7Q2D0zgoYlquJr8WkPXaByjXE4XYNzcRRg6o+q3V3Uv9s6yhKBoLiBsltUETFJLCoQNzUv9kA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@libsql/win32-x64-msvc@0.3.8: - resolution: {integrity: sha512-KbqqgbL2iBciVFZSJ//36U0Fr6P6AAcLpJPqVckRdNOC43whZlKNglmjtzQDOq3+UVieC8OkLUPEDShRIcSDZA==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@neon-rs/load@0.0.4: - resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} - requiresBuild: true - dev: false - - /@prisma/adapter-libsql@5.10.2(@libsql/client@0.5.2): - resolution: {integrity: sha512-XRaSK8IhmodBK3FAvlw0blwUVlIH9sEvUvJvHtGXKoMJDG9zb5HS/NkAqPVG7/8oqUZInZmdNlUXb/RGiROiFg==} - peerDependencies: - '@libsql/client': ^0.3.5 || ^0.4.0 - dependencies: - '@libsql/client': 0.5.2 - '@prisma/driver-adapter-utils': 5.10.2 - async-mutex: 0.4.1 - dev: false - - /@prisma/client@5.10.2(prisma@5.10.2): - resolution: {integrity: sha512-ef49hzB2yJZCvM5gFHMxSFL9KYrIP9udpT5rYo0CsHD4P9IKj473MbhU1gjKKftiwWBTIyrt9jukprzZXazyag==} - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - prisma: 5.10.2 - dev: false - - /@prisma/debug@5.10.2: - resolution: {integrity: sha512-bkBOmH9dpEBbMKFJj8V+Zp8IZHIBjy3fSyhLhxj4FmKGb/UBSt9doyfA6k1UeUREsMJft7xgPYBbHSOYBr8XCA==} - dev: false - - /@prisma/driver-adapter-utils@5.10.2: - resolution: {integrity: sha512-Qou/js8VJSmaWiGX5EVXGF83fMZltFnuzkKFOocpDvcI3f5G9WTPf61TKflzs3ZOYe1weRgM9hUk9UR7lgGEwg==} - dependencies: - '@prisma/debug': 5.10.2 - dev: false - - /@prisma/engines-version@5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9: - resolution: {integrity: sha512-uCy/++3Jx/O3ufM+qv2H1L4tOemTNqcP/gyEVOlZqTpBvYJUe0tWtW0y3o2Ueq04mll4aM5X3f6ugQftOSLdFQ==} - dev: false - - /@prisma/engines@5.10.2: - resolution: {integrity: sha512-HkSJvix6PW8YqEEt3zHfCYYJY69CXsNdhU+wna+4Y7EZ+AwzeupMnUThmvaDA7uqswiHkgm5/SZ6/4CStjaGmw==} - requiresBuild: true - dependencies: - '@prisma/debug': 5.10.2 - '@prisma/engines-version': 5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9 - '@prisma/fetch-engine': 5.10.2 - '@prisma/get-platform': 5.10.2 - dev: false - - /@prisma/fetch-engine@5.10.2: - resolution: {integrity: sha512-dSmXcqSt6DpTmMaLQ9K8ZKzVAMH3qwGCmYEZr/uVnzVhxRJ1EbT/w2MMwIdBNq1zT69Rvh0h75WMIi0mrIw7Hg==} - dependencies: - '@prisma/debug': 5.10.2 - '@prisma/engines-version': 5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9 - '@prisma/get-platform': 5.10.2 - dev: false - - /@prisma/get-platform@5.10.2: - resolution: {integrity: sha512-nqXP6vHiY2PIsebBAuDeWiUYg8h8mfjBckHh6Jezuwej0QJNnjDiOq30uesmg+JXxGk99nqyG3B7wpcOODzXvg==} - dependencies: - '@prisma/debug': 5.10.2 - dev: false - - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - dependencies: - '@types/node': 20.9.4 - form-data: 4.0.0 - dev: false - - /@types/node@20.9.4: - resolution: {integrity: sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==} - dependencies: - undici-types: 5.26.5 - dev: false - - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - dependencies: - '@types/node': 20.9.4 - dev: false - - /async-mutex@0.4.1: - resolution: {integrity: sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==} - dependencies: - tslib: 2.6.2 - dev: false - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - requiresBuild: true - dev: false - - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: false - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - - /js-base64@3.7.5: - resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} - dev: false - - /libsql@0.3.8: - resolution: {integrity: sha512-tz12gCfDXl6WKwtpxpw6PaZtkecHQQQTHuuj6RLQvEfOB17bPpmo8xdC55S4J6fx6qzmqJbaLZSlA6gYJgUXkg==} - cpu: [x64, arm64] - os: [darwin, linux, win32] - dependencies: - '@neon-rs/load': 0.0.4 - detect-libc: 2.0.2 - optionalDependencies: - '@libsql/darwin-arm64': 0.3.8 - '@libsql/darwin-x64': 0.3.8 - '@libsql/linux-arm64-gnu': 0.3.8 - '@libsql/linux-arm64-musl': 0.3.8 - '@libsql/linux-x64-gnu': 0.3.8 - '@libsql/linux-x64-musl': 0.3.8 - '@libsql/win32-x64-msvc': 0.3.8 - dev: false - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - - /prisma@5.10.2: - resolution: {integrity: sha512-hqb/JMz9/kymRE25pMWCxkdyhbnIWrq+h7S6WysJpdnCvhstbJSNP/S6mScEcqiB8Qv2F+0R3yG+osRaWqZacQ==} - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': 5.10.2 - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: false - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: false - - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: false - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false diff --git a/query-engine/query-engine-wasm/example/prisma/schema.prisma b/query-engine/query-engine-wasm/example/prisma/schema.prisma deleted file mode 100644 index c6432a4a671f..000000000000 --- a/query-engine/query-engine-wasm/example/prisma/schema.prisma +++ /dev/null @@ -1,13 +0,0 @@ -datasource db { - provider = "sqlite" - url = "file:./dev.db" -} - -generator client { - provider = "prisma-client-js" - previewFeatures = ["driverAdapters", "tracing"] -} - -model User { - id Int @id @default(autoincrement()) -}