{"id":18609800,"url":"https://github.com/unlight/prisma-tech-talk","last_synced_at":"2025-07-10T02:37:51.577Z","repository":{"id":138161426,"uuid":"264429805","full_name":"unlight/prisma-tech-talk","owner":"unlight","description":"Tech talk about Prisma 2 (unfinished)","archived":false,"fork":false,"pushed_at":"2020-12-22T21:03:20.000Z","size":307,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"gh-pages","last_synced_at":"2025-06-01T01:59:57.118Z","etag":null,"topics":["prisma2","tech-talk","tech-talks"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unlight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-16T12:16:18.000Z","updated_at":"2022-12-24T15:27:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"59c0f83e-1c0d-4eb6-8be4-23c00024163f","html_url":"https://github.com/unlight/prisma-tech-talk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/unlight/prisma-tech-talk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unlight%2Fprisma-tech-talk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unlight%2Fprisma-tech-talk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unlight%2Fprisma-tech-talk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unlight%2Fprisma-tech-talk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unlight","download_url":"https://codeload.github.com/unlight/prisma-tech-talk/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unlight%2Fprisma-tech-talk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264519719,"owners_count":23621858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["prisma2","tech-talk","tech-talks"],"created_at":"2024-11-07T03:07:20.071Z","updated_at":"2025-07-10T02:37:51.560Z","avatar_url":"https://github.com/unlight.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# prisma-tech-talk\n\n-   https://unlight.github.io/prisma-tech-talk/presentation.html\n\n## Contents\n\n-   Comparison of tools\n-   What is Prisma Framework\n-   How it works\n-   Schema.Prisma\n-   Example of user.findOne (type safe)\n-   Example of write operations (with connect)\n-   Aggregation example\n-   Integration with TypeGraphQL / NestJS\n-   Competitors\n\n## Prisma\n\n-   http://prisma.io/\n\n## Resources\n\n-   https://isprisma2ready.com/\n-   https://www.prisma.io/docs/concepts/overview/what-is-prisma\n-   https://www.prisma.io/docs/concepts/components/prisma-client/crud\n-   https://github.com/prisma/prisma\n-   https://www.prisma.io/docs/understand-prisma/why-prisma/\n-   https://www.prisma.io/docs/understand-prisma/introduction\n-   https://www.prisma.io/docs/getting-started/quickstart-typescript\n-   https://www.prisma.io/blog/comparing-sql-query-builders-and-orms-dkuixe3aa5a2 - Comparing SQL, Query Builders, and ORMs\n-   https://www.prisma.io/docs/understand-prisma/under-the-hood\n-   https://www.prisma.io/blog/prisma-2-beta-b7bcl0gd8d8e/\n-   https://softwareengineeringdaily.com/2020/06/04/prisma-modern-database-tooling-with-johannes-schickling/ - Prisma: Modern Database Tooling with Johannes Schickling\n    -   https://softwareengineeringdaily.com/wp-content/uploads/2020/06/SED1083-Prisma.pdf\n    -   https://hwcdn.libsyn.com/p/0/f/9/0f9e125d938f983a/2020_06_04_Prisma.mp3?c_id=74752949\n-   https://www.youtube.com/watch?v=WSyaBOAZFZY - Prisma 2 in Action - Matt Mueller @ PrismaDay 2019\n-   https://www.youtube.com/watch?v=NZpawq8eJOc - Founder Keynote - Johannes Schickling @ PrismaDay 2019\n-   https://www.youtube.com/watch?v=tw1E9vVYWa8 - Prisma 2 Beta\n-   https://www.youtube.com/watch?v=3Pxj-4IrOcs - Should you use Sequelize, TypeORM, or Prisma?\n-   https://www.youtube.com/watch?v=OloBAdNCnyQ - Code first GraphQL Server Development with Prisma — Nikolas Burk @ GraphQL Conf 2019\n-   https://www.youtube.com/watch?v=eH5mleAvnms - Prisma 2 Sneak Peak\n-   https://www.codemochi.com/blog/2019-06-26-prisma-2-sneak-peak\n-   https://itnext.io/lets-take-prisma-2-for-a-test-drive-on-aws-lambda-with-graphql-%EF%B8%8F-f4be711e93cc - Lets take Prisma 2 for a test drive on AWS Lambda with GraphQL\n-   https://medium.com/@abhiaiyer/prisma-client-101-5eed06eee1fa - About Prisma 1\n-   https://www.youtube.com/watch?v=jAxE8z6xpl8 - Prisma 2: Modern database tools for Node.js and TypeScript\n-   https://www.youtube.com/watch?v=NSk9NfeJCd8 - Getting Started With Prisma 2\n-   https://www.opencrud.org/\n-   https://github.com/AhmedElywa/prisma-tools\n-   https://github.com/BuildingXwithJS/exploring-prisma\n    -   https://www.youtube.com/watch?v=mxUVBde8mDQ - BxJS - What is Prisma.io? Exploring database toolkit\n-   https://github.com/catalinmiron/awesome-prisma\n-   https://github.com/topics/prisma?o=desc\u0026s=updated\n-   https://github.com/topics/prisma2?o=desc\u0026s=updated\n-   https://github.com/hexrcs/fullstack-graphql-next-nexus-prisma\n-   https://www.prisma.io/blog/announcing-prisma-2-zq1s745db8i5\n-   https://www.prisma.io/blog/announcing-prisma-2-zq1s745db8i5#why-prisma-is-not-like-existing-db-tools--orms\n-   https://www.youtube.com/watch?v=Bqacj0iOL68 - Building a Backend for React with Next.js, Prisma 2, and Postgres\n-   https://youtu.be/BqztLbj_cN4\n    -   00:58:45 - Welcome\n    -   01:03:05 - Keynote\n    -   01:15:40 - [Prisma 2.0: Productivity and Confidence for your database](https://www.youtube.com/watch?v=avpNAeWKgtM)\n    -   01:49:50 - Happy Table Friends: Relations in Prisma\n    -   02:33:37 - Data Discovery with Studio\n    -   02:40:57 - Showcase: Building a Calendar App with Prisma\n    -   02:49:20 - Serverless Prisma 2 with GCP Cloud Run\n    -   03:31:49 - How Prisma Solves the N+1 Problem in GraphQL Resolvers\n        -   https://github.com/timsuchanek/n-plus-one\n    -   04:07:24 - Showcase: Prisma Admin React Component\n    -   04:13:37 - Prisma VSCode Extension\n    -   04:18:50 - Type-Safety Beyond TypeScript\n    -   04:24:54 - Showcase: Accessing Databases using NestJS with Prisma\n    -   04:47:30 - RedwoodJS: Bringing Full-Stack to the Jamstack\n    -   05:22:09 - Blitz: the Full-Stack React Framework\n    -   05:58:42 - The Jamstack and Your Data\n    -   06:37:42 - Closing\n-   https://www.reddit.com/r/typescript/comments/icbey2/which_orm_should_i_use/\n-   https://medium.com/better-programming/prisma-vs-typeorm-60d02f9dac64\n-   https://www.youtube.com/watch?v=lF8DV_ICIpY Prisma - The Easiest Way to Work with a Database in Next.js\n-   https://www.youtube.com/watch?v=a6afTgE3btI - Prisma Roadmap\n-   https://www.prisma.io/docs/concepts/more/comparisons\n-   https://www.prisma.io/docs/concepts/overview/prisma-in-your-stack/is-prisma-an-orm\n-   https://www.prisma.io/dataguide/database-tools/top-nodejs-orms-query-builders-and-database-libraries-in-2020\n\n## FAQ\n\n#### What about dynamic provider?\n\nCurrently, when generating a Prisma Client, it is specific to a provider (sqlite, postgres or mysql). You cannot reuse the same client and specify a provider which it wasn't generated for. But there is a feature request to do that.\nhttps://github.com/prisma/prisma/issues/1487#issuecomment-633566370\n\n#### MongoDB support for Prisma 2?\n\nIn progress\nhttps://github.com/prisma/prisma/issues/1277\n\n#### Performance\n\nNot a goal for the beta, optimization will be later\nhttps://github.com/prisma/prisma/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+performance\n\n#### Transactions\n\nhttps://github.com/prisma/prisma-client-js/issues/667\nhttps://github.com/prisma/prisma/issues/1844\nUse write operations with `connect`  \nSince 2.1.0 available as experimrntal feature (explicit transactions)\n\n#### Multiple schema files\n\nhttps://github.com/prisma/prisma/issues/2377\n\n#### Atomic operations\n\nhttps://github.com/prisma/prisma-client-js/issues/655\nhttps://www.prisma.io/docs/concepts/components/prisma-client/crud#atomic-operations-on-update\n\n#### ORM can resolve n + 1 problem too\n\nhttps://mikro-orm.io/docs/nested-populate\nYes, but no type safety in this example.\n\nhttps://github.com/typeorm/typeorm/blob/master/docs/eager-and-lazy-relations.md\nIn this example I must define it as column definition, what if need both lazy and eager...\n\n#### Why ORM is Partial Typesafety\n\nhttps://sequelize.org/master/manual/typescript.html#usage (bottom of\nsection Usage, before \"Usage without strict types for attributes\" section,\nspot \"console.log(ourUser.projects![0].name\")\n\n#### Why middleware as query engine is needed\n\nPossible, to make prisma framework language indepedent, having such query engine allow to create\nprisma cient for another language.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funlight%2Fprisma-tech-talk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funlight%2Fprisma-tech-talk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funlight%2Fprisma-tech-talk/lists"}