{"full_name":"prisma/orm","owner":"prisma","name":"orm","url":"https://github.com/prisma/orm","description":"The Prisma ORM: write your application in TypeScript with human-readable queries instead of SQL. Host your database on Prisma Postgres and your app on Prisma Compute.","homepage":"https://www.prisma.io","topics":[],"language":"TypeScript","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/17219288?v=4","created_at":"2019-06-20T13:33:47Z","pushed_at":"2026-11-10T09:33:19Z","metrics":{"stars":47661,"forks":2609,"watchers":296,"issues":12239,"prs":10963,"releases":275,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":5856},"growth":{"day":{"stars":2,"forks":-1,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[47659,47661],"forks":[2610,2609],"watchers":[296,296],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[{"full_name":"prisma/prisma","name":"prisma","boards":{}},{"full_name":"prisma/prisma1","name":"prisma1","boards":{}}],"issues":[{"number":1798,"title":"Geolocation/Spatial types support","comments":163,"created_at":"2020-03-10T09:26:09Z"},{"number":9184,"title":"`EPERM: operation not permitted, unlink '...node_modules\\prisma\\query_engine-windows.dll.node'`","comments":156,"created_at":"2021-09-09T08:51:34Z"},{"number":4807,"title":"Large schemas generate huge `index.d.ts` causing slow autocomplete and type-checking in your editor","comments":157,"created_at":"2020-12-29T01:04:29Z"},{"number":2443,"title":"Multiple Connections / Databases / Datasources","comments":144,"created_at":"2020-05-14T12:21:41Z"},{"number":2789,"title":"PostGIS/GIS support","comments":136,"created_at":"2020-06-17T14:47:55Z"},{"number":5051,"title":"Improve Timezone Support for Existing MySQL Databases configured with a Non-UTC Timezone","comments":135,"created_at":"2020-06-20T11:13:17Z"},{"number":3219,"title":"Define type of content of `Json` field","comments":131,"created_at":"2020-08-06T08:14:16Z"},{"number":1644,"title":"Support for Polymorphic Associations","comments":126,"created_at":"2020-02-19T03:03:08Z"}],"discussions":[{"number":30954,"title":"How `@updateAt` should work when used in relationships","comments":1,"category":"Q&A","created_at":"2026-11-06T11:51:53Z"},{"number":30948,"title":"Prisma 7.9.1: Can migrate deploy/diff initialize PostgreSQL SET ROLE on every engine connection?","comments":2,"category":"Q&A","created_at":"2026-11-05T11:42:34Z"},{"number":30910,"title":"Prisma 6.19.3 query engine download returns HTTP 403 (debian-openssl-3.0.x)","comments":1,"category":"Q&A","created_at":"2026-10-29T23:06:07Z"},{"number":30908,"title":"binaryTargets equivalent with @prisma/engines?","comments":3,"category":"Q&A","created_at":"2026-10-29T20:16:35Z"},{"number":30905,"title":"ES5 support on 7?","comments":2,"category":"Q&A","created_at":"2026-10-29T19:20:33Z"},{"number":30890,"title":"Prisma 7.10.0 MySQL migrate status: Minimum Required Database Privileges","comments":3,"category":"Q&A","created_at":"2026-10-28T05:52:55Z"},{"number":30879,"title":"Prisma 7.10.1 Schema Engine returns P1001 on Windows, but PostgreSQL driver connects successfully","comments":4,"category":"Q&A","created_at":"2026-10-27T01:37:24Z"},{"number":30715,"title":"Offline verification of Prisma 7.10.0 Linux schema-engine signatures","comments":3,"category":"Q&A","created_at":"2026-10-13T18:36:36Z"}],"latest_release":{"name":"7.10.1","tag":"7.10.1","published_at":"2026-10-19T08:13:27Z","body":"Prisma ORM 7.10.1 is a patch release. It fixes a bug where a nested interactive transaction could make later, unrelated transactions run inside the wrong transaction. It also updates dependencies that had security advisories.\n\n## Fixes\n\n### Prisma Client: nested `$transaction` no longer changes the options object you pass in\n\nIf you passed the same options object to a nested `tx.$transaction(...)` and later to a top-level `prisma.$transaction(...)`, the nested call wrote the outer transaction's id into that object. Every later top-level transaction that used the object was then treated as nested inside that old transaction:\n\n- if the old transaction had committed, the new one failed with `P2028`;\n- if the old transaction was still open, the new one silently ran as a savepoint inside another request's transaction.\n\n```ts\nconst TX_OPTIONS = { timeout: 30_000, maxWait: 10_000 }\n\nawait prisma.$transaction(async (tx) => {\n  await tx.$transaction(async (inner) => { /* ... */ }, TX_OPTIONS)\n})\n\n// Before 7.10.1, this call could fail with P2028 or join another transaction.\nawait prisma.$transaction(async (tx) => { /* ... */ }, TX_OPTIONS)\n```\n\nPrisma Client no longer modifies the options object. (https://github.com/prisma/orm/pull/30368, thanks @lazerg)\n\n### Prisma Migrate: refuse a shadow database that is the main database\n\nPrisma Migrate now refuses to run with error `P3025` when the shadow database URL points at the same database as the main database URL. Before, `prisma migrate diff --from-migrations` with that setup dropped the real schema, rebuilt it from the migrations, and reported an empty diff. (https://github.com/prisma/prisma-engines/pull/5851)\n\n### MariaDB adapter: updated to `mariadb` 3.5.4\n\n`@prisma/adapter-mariadb` now depends on `mariadb` 3.5.4, which fixes several security advisories in 3.5.3. The adapter no longer rewrites IPv6 hosts in connection strings, because `mariadb` 3.5.4 accepts them as written. IPv6 connection strings keep working without changes. (https://github.com/prisma/orm/pull/30668)\n\n## Dependency updates\n\nDependencies with security advisories were updated: `mysql2`, `fast-uri`, `deepmerge-ts`, `mariadb` and `source-map-js`. (https://github.com/prisma/orm/pull/30314, https://github.com/prisma/orm/pull/30189, https://github.com/prisma/orm/pull/30668)\n"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}