Prisma - The Easiest Way to Work with a Database in Next.js (UPDATED)

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • Prisma is an ORM and database toolkit which makes it easy to have type-safe database access in Node. It's also the easiest way to work with databases in a Next.js app. You can learn more at prisma.io/nextjs.
    In this video, we look at how to integrate Prisma in a Next.js app. We see how to query for data in the getServerSideProps function and how to save data using an API route.
    Demo App Repo: github.com/che...
    ------------------------
    Next:
    👉 Check Previous video: How to create a PostgreSQL Database with Prisma's Data Platform - • How to create a Postgr...
    👉 Check Next video: Seeding Databases with Prisma - • Seeding Databases with...
    ------------------------
    📚 Resources:
    ✅ Subscribe to Prisma: / @prismadata
    ✅ Get help from the Prisma Community: slack.prisma.io/
    ✅ Learn more about Prisma:
    ◭ Website: www.prisma.io
    ◭ Docs: www.prisma.io/...
    ◭ Quickstart: pris.ly/qstart
    ------------------------
    💬 Connect with Prisma:
    Twitter: / prisma
    Instagram: / prisma.io
    TikTok: / prismadata
    Facebook: / prisma.io
    LinkedIn: / prisma-io
    ------------------------
    Prisma sponsors human-reviewed, professional closed captions for ANY video valuable to our community (for example, about: Node.js, TypeScript & Type Safety, Prisma, databases, etc). Get your FREE captions here: pris.ly/closed...

Комментарии • 90

  • @b1chler
    @b1chler 3 года назад +75

    Would be cool to see whats the best way to use authentication and authorization with next and prisma… :)

  • @tonyjaradev
    @tonyjaradev 2 года назад +4

    This guy should do all Prisma tutorials. Awesome.

  • @nicolasguillenc
    @nicolasguillenc 3 года назад +31

    Big thumbs up, this guy explains very well and his attitude is great while explaining

    • @DeepTitanic
      @DeepTitanic Год назад

      He sounds like a private detective

  • @JamesQQuick
    @JamesQQuick 3 года назад +4

    Great overview. Love this!

  • @Blue-bb9ro
    @Blue-bb9ro Год назад +6

    Huge thumbs up for this video, very concise, helped me A LOT with getting started with Prisma.

  • @MaksymMinenko
    @MaksymMinenko 3 года назад +2

    Thanks! This channel needs more videos like this one.

  • @seandurrant2877
    @seandurrant2877 3 года назад +12

    From a very new Nextjs developer, I would love to see a tutorial from the very beginning. This is a great video but there is too much code for me to really understand it. Don't get me wrong, I could copy and paste and get it working but to really learn, a tutorial from the very start would be great.

  • @RamoFX
    @RamoFX 3 года назад +4

    Very interesting technology! Thanks!

  • @daniellaerachannel
    @daniellaerachannel 3 года назад +4

    Awesome!

  • @martiananomaly
    @martiananomaly Год назад

    1:00 didn't know that. That's really cool.

  • @joncrowell9289
    @joncrowell9289 3 года назад +9

    Excellent video, Ryan. Thanks!
    At the ~7:45 mark, you mention a video that shows how to use a singleton rather than instantiating the Prisma Client in various places in the app. Can you post a link?

    • @Gorlik1337
      @Gorlik1337 3 года назад

      Also me looking for this link

    • @Gorlik1337
      @Gorlik1337 3 года назад

      @prisma

    • @AnthonySchmittt
      @AnthonySchmittt 2 года назад +5

      I think this video from prisma can help : ruclips.net/video/aim8Mk-ETK0/видео.html

  • @marlonfalconhdez
    @marlonfalconhdez 2 года назад +1

    Thank you for the video, you explains very well

    • @PrismaData
      @PrismaData  2 года назад

      You are welcome! We're glad it was helpful! 💚

  • @maskman4821
    @maskman4821 3 года назад +2

    pretty useful and practical tutorial !!!

  • @Norfeldt
    @Norfeldt 3 года назад +2

    Very good and informative tutorial - I'm just sitting back and missing the last step of how to deploy it...

  • @BhriguSrivastava
    @BhriguSrivastava Год назад

    Great tutorial video. Very concise and to the point.

  • @CaseStudyQB
    @CaseStudyQB 3 года назад +1

    Whats the best way to learn how to model or design prisma 2 databases? I would like to see examples and / or tutorials on more complex databases. Thanks in advance

  • @brandonleichty
    @brandonleichty 3 года назад +10

    Thanks for the video! I'm curious if there is a "Prisma way" to add triggers to Postgres? Or do you just have to do it manually through raw SQL?

    • @holodeck_run
      @holodeck_run 3 года назад +1

      nothing specific that I know of. I was just looking for any docs we have but I can't find much. I believe right now it's just a manual task. Feel free to open an issue about it though, perhaps this is something that can be looked at in the future :)

    • @brandonleichty
      @brandonleichty 3 года назад +1

      Awesome! Thanks for the reply. I couldn’t find anything either. So I’ll open an issue up. 🙏

  • @PaulSebastianM
    @PaulSebastianM 2 года назад

    13:05 that is a DTO for creating the actual model of Contact, to speak in software development parlance. :)
    But it is a simple generated type that probably looks identical to Contact itself. People might want to create their own DTOs so they can implement business logic like validation and such.

  • @mediacreatif
    @mediacreatif 2 года назад +3

    react-hook-form updated to 7.0.0 from 6.X.X and has breaking changes

  • @Balance-8
    @Balance-8 3 года назад +8

    Where is the link to the video you discussed at @7:45

    • @holodeck_run
      @holodeck_run 3 года назад +4

      Here it is: ruclips.net/video/tsOHw2T1HvI/видео.html

    • @TheLexuguin
      @TheLexuguin 3 года назад

      I'm following that approach github.com/prisma/prisma/issues/1983#issuecomment-869036852

  • @HillelGarciaAustria
    @HillelGarciaAustria 2 года назад

    Amazing video, just what I needed. Thanks! You've +1 subscriber

  • @rahulbhardwaj4568
    @rahulbhardwaj4568 2 года назад +1

    This should be updated react-hook-form v7 has breaking changes!

  • @stvlley
    @stvlley 2 года назад

    I wish i could like a video multiple time lol

  • @burakcivan1219
    @burakcivan1219 Год назад

    Thanks, good course for me :)

  • @palkollar7739
    @palkollar7739 2 года назад

    This is amazing!

  • @myrez_
    @myrez_ Год назад

    6:43 I'm getting an error here
    when trying to import the { initialContacts }, I get
    "Binding element 'X' implicitly has an 'any' type."
    any help?

  • @bryson2662
    @bryson2662 2 года назад +1

    forgive my ignorance. If the api routes are run on the server, how are they "serverless functions"?

    • @daniel2color
      @daniel2color 2 года назад +2

      The term Serverless functions is indeed confusing. In practice, it just means that you don't need a dedicated server. There's always going to be a server that actually runs the functions - they are just invisible to you.

  • @buntikashyap7618
    @buntikashyap7618 5 месяцев назад

    Yes, I use Next js with Prisma and mysql database and it is good combination for full stack developer but I have an issue to deploy on hostinger as it pre installed the phpmyadmin or database but didn't know about how we deploy my next js project on this and how can I create the tables in database dynamicallly.
    (if you have any reference for me you can send me)

  • @harryweisner4193
    @harryweisner4193 2 года назад +1

    Why have you styled your hair like a RawR Xd girl from the early 2000s? Great video thanks.

  • @jamesnguyen868
    @jamesnguyen868 3 года назад +1

    Hi Ryan, is there a support for multi-tenants based app?

  • @babyfrank593
    @babyfrank593 3 года назад

    Cuando ejecuto npx prisma studio obtengo este error "Error: spawn undefined\System32\WindowsPowerShell\v1.0\powershell ENOENT" me podría ayudar a solucionarlo gracias

  • @mohamedel-moustafa3667
    @mohamedel-moustafa3667 2 года назад

    Prisma best

  • @ImaginativeWork
    @ImaginativeWork 7 месяцев назад

    Got anything for SQL Server with Windows Authentication?

  • @cervece41
    @cervece41 3 года назад +2

    Hi there Ryan, I have a quick question, I never used SQLite before so I'm not sure whether it's safe to push the dev.db file to a public repo or not, I love the idea of having a ligth db in the file system but I obviously don't want to expose my application's data. Thanks in advance!

    • @CurtisUpshall
      @CurtisUpshall 2 года назад

      The idea behind database migrations is to "rebuild" your database when you run them. So storing any kind of database file in version control is a bad idea, even if the data isn't confidential. Use migrations and seeders to rebuild the data, or opt for a hosted database. Of course, you can still use SQLite if you don't mind mainting the sqlite file locally.

  • @magimaartdeveloper7465
    @magimaartdeveloper7465 3 года назад

    Is this prisma thing an alternative to mongoose? and would it make sense to use mongoose and prisma on a single project using mongodb?

  • @jaicedecelis9949
    @jaicedecelis9949 2 года назад

    Hey Prisma! Just out of curiosity, what is your revenue generation model / how does prisma make its money? Looking to adopt something like prisma but want to make sure it will be around for a while!

    • @PrismaData
      @PrismaData  2 года назад +2

      Prisma is open source and using it is free of any charge! In the future, Prisma will offer additional cloud services to facilitate various database- and Prisma-related workflows. Note that these will be optional, Prisma can continue to be used without consuming any commercial services.

  • @asiatip
    @asiatip Год назад

    Thanks for your video, it helps me a lot. After everything is done, I have a question: can we deploy it to vercel directly with local ./dev.db. It seems not working.

    • @dunyan1586
      @dunyan1586 Год назад

      same, how should we do it lol

  • @C0D3O
    @C0D3O Год назад

    how to configure prettier to format thing like that?? 3:50

  • @onion_____
    @onion_____ 3 года назад +1

    is there a difference between prisma migrate dev and prisma generate?

    • @PrismaData
      @PrismaData  3 года назад +2

      Yes.
      The prisma migrate dev command generates SQL migrations and executes them
      The prisma generate command generates the Prisma Client code that you import into your application.

  • @thewetfly9207
    @thewetfly9207 Год назад

    Have you any beautiful .prettierrc file for your style (without semicolon and align your model names) ? 😇

  • @HugensLouis
    @HugensLouis 3 года назад

    What is that icon theme?

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 2 года назад

    Something which I hate is that often times there is a ease of use way of doing things which is different from the actual way of doing things like the singleton pattern of the client. I wish the library would just deal with it.

  • @rahulsriram6295
    @rahulsriram6295 2 года назад

    Hey what font is that?!

  • @sharkman8560
    @sharkman8560 3 года назад

    Hi! How can I update database without erase data. For example I want to add new column.

    • @leonardosimmons9658
      @leonardosimmons9658 2 года назад

      Just change whichever model(s) within the schema.primsa file and run npx prisma migrate dev. It will auto sync the new updated schema with your database. Don't forget to run prisma generate when you're finished to resync the database with @prisma/client

  • @tirancm
    @tirancm Год назад

    If you are going to use shared hostings, cpanel to host the app, do not use prisma. Prisma cannot work on ubuntu 20.04 at all. Its been lot of time. They have not fixed the issue.

  • @hyggedev2124
    @hyggedev2124 2 года назад

    How do I update the Schema so i can add a new model or change model fields?

    • @MahmoudAbdelwahab
      @MahmoudAbdelwahab 2 года назад

      Hey Chris! You can make changes to your schema and then use Prisma migrate so that the changes are reflected in your database 😄
      Check out the docs here: www.prisma.io/docs/concepts/components/prisma-migrate

  • @OMARKM
    @OMARKM 2 года назад

    what is Prisma and why should i use it ?!😅

  • @izio4408
    @izio4408 2 года назад

    Does prisma support graphql? When will mongodb be ready?

    • @PrismaData
      @PrismaData  2 года назад

      Hello there! To answer your questions:
      (1) Prisma and GraphQL fit together very well - Prisma is an ORM that is used inside of GraphQL resolvers to query a database. More info here: www.prisma.io/graphql
      (2) Prisma currently supports MongoDB in Preview and we plan to launch the GA support by the end of the year. More info here: www.prisma.io/blog/prisma-mongodb-preview-release

  • @elshir
    @elshir 3 года назад

    Hi there, why is this happening? Error: Error serializing .postsreturned fromgetStaticPropsin "/posts". Reason:object ("[object Promise]") cannot be serialized as JSON. Please only return JSON serializable data types.

    • @holodeck_run
      @holodeck_run 3 года назад +1

      looks like you have a page called "posts"? from the error, it looks like it could be that you're not awaiting something. if you're making a call to prisma to get data, be sure to await it so you can get the actual data result and not the pending promise.

    • @elshir
      @elshir 3 года назад

      @@holodeck_run I'm pretty sure I am set it to await, but still get this error.

    • @holodeck_run
      @holodeck_run 3 года назад +1

      @@elshir hard to say from just the error message. if your code is in a repo where I can take a look, I might be able to find the issue.

    • @elshir
      @elshir 3 года назад

      @@holodeck_run I got it, because of time.

  • @mahbubhasan8661
    @mahbubhasan8661 2 года назад

    I m using mongoose. I never use prisma before. Please upload tutorial how I can use authentication and authorization with next js and prisma in API route

    • @PrismaData
      @PrismaData  2 года назад +1

      Check out this course which includes authentication and authorization with Next.js and Prisma: www.prisma.io/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw

    • @mahbubhasan8661
      @mahbubhasan8661 2 года назад

      @@PrismaData Thank you

  • @naveensingh6459
    @naveensingh6459 9 месяцев назад

    bro, i thought Sam Altman was going to teach us.

  • @City__Walker
    @City__Walker Год назад

    Prisma has a nasty surprise that Prisma developers don't give a damn about, when transferring a project from one development environment to another where there is no Internet, Prisma tries to download a new driver for its work, if you have tight security settings, consider that your project will not work. Because of this, I almost lost my job. Gentlemen, can you create an offline version for complex situations !!??

  • @spectator5144
    @spectator5144 3 года назад

    please JS version

  • @taggerung_
    @taggerung_ 9 дней назад

    now show us your middleware

  • @SphinxHill
    @SphinxHill Год назад

  • @BJ-ic5tj
    @BJ-ic5tj 3 года назад

    If I understand correctly, you have renamed @prisma/cli to just plain prisma. If that is correct, I am wondering why you changed the name. @prisma/cli is much more descriptive of what the package does then just plain prisma (particularly since there is still a @prisma/client package).

  • @triTube70
    @triTube70 2 года назад

    Hi Ryan, I'm following one of the examples from Prisma Github page and i just wanted to know what is the .author() does in these code, Thanks.
    author: (parent, _args, ctx) => {
    return ctx.prisma.post
    .findUnique({
    where: { id: parent.id },
    }) .author()