Getting started with Isar DB - Introduction in Local DB

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • If you want to see me live code, join me at: kick.com/devcafe
    Patreon Page: / flutterexp
    In today's episode, I want to explain what local Databases are and what they are used for. For example, we will implement a local DB with Isar DB in our Flutter project.
    Interesting Links:
    Repository: codeberg.org/Flutter-Explaine...
    Pub Package: pub.dev/packages/isar
    #flutter #dartprogramming #LocalDatabase
    Timestamps:
    00:00 Intro
    01:25 Why we need local Databases
    03:20 Benefits of Isar DB
    05:15 Demo Application
    07:57 Implement the logic with Isar DB
    26:00 Outro
    ** New Mentorship Program to boost your Flutter career **
    gumroad.com/products/ydgtfV
    ** Social Medias **
    Website: flutter-explained.dev
    Say hi to Max
    Twitter: / flutter_exp
    GitHub Max: github.com/md-weber
    LinkedIn: / max-weber-9889a3ba
    Matrix: matrix.to/#/#flutter-explained:tchncs.de
    Discord: / discord
    Say hi to Mahtab
    Twitter Mahtab: / mahtab_dev
    GitHub Mahtab: github.com/mt-tadayon
  • Věda a technologie

Komentáře • 46

  • @pauldavid2414
    @pauldavid2414 Před rokem +5

    Thanks so much for not fiddling around with how you laid out your UI and wasting time with unnecessary boilerplate, instead focusing on the DB. Great work!

  • @FlutterExplained
    @FlutterExplained  Před rokem +5

    Hello again to another episode here on this channel. I was glad to work with Isar DB, and thanks once more to the creator Simon Leier (@simonleier) who helped me navigate around some interesting issues :). I hope you enjoyed the video.

  • @hitheshchowdary4366
    @hitheshchowdary4366 Před rokem +9

    Awesome, i previously used to develop isar, without having any available video for isar guidance, this will be very helpful i see new ways of developing

  • @biplabdutta
    @biplabdutta Před rokem +19

    A small tip..
    Instead of running the build-runner command time and again, you can run
    flutter pub run build_runner watch --delete-conflicting-outputs
    With this command, if you write some code that relies on code generation and just save the code, required code will be automatically generated. So, run once and keep generating code on every save. Saves a lot of time.
    And nice video.. 👏

    • @FlutterExplained
      @FlutterExplained  Před rokem +4

      Ah right the watch command :) did completely forgot about it :) thanks for sharing!

    • @sergey_molchanovsky
      @sergey_molchanovsky Před rokem +1

      Code generation is sluggish :( Even better is to divide your code into packages (serializable models, isar entities, mobx stores etc.) and to use something like melos, to run a codegen in separate packages. That's how I do.

    • @biplabdutta
      @biplabdutta Před rokem

      @@sergey_molchanovsky that's the way to do it in a large scale app. Yup.

    • @nihalanil4444
      @nihalanil4444 Před rokem

      hey i am using vs code can you tell me why the command is not working

  • @joshpetit
    @joshpetit Před rokem +2

    Wow! What a fantastic tutorial. I absolutely love the style you have. Thank you a ton.

  • @Raimkhodzhanov
    @Raimkhodzhanov Před rokem +1

    Thank You, it was very interesting!

  • @n-tech4605
    @n-tech4605 Před rokem

    Thank you, being looking for this

  • @muhamadhaydar2614
    @muhamadhaydar2614 Před 4 měsíci

    Thanks for the explanation.

  • @pravinprince3221
    @pravinprince3221 Před 11 měsíci

    Thank you for the wonderful video sir it is very helpful for me and my team, Thanks again sir

  • @Raimkhodzhanov
    @Raimkhodzhanov Před rokem

    Thank You, very interesting!

  • @RashiShah-z2b
    @RashiShah-z2b Před měsícem

    Great stuff!

  • @snooki9
    @snooki9 Před 6 měsíci

    Great video, thanks for that :D

  • @thebaconbreadful
    @thebaconbreadful Před rokem +5

    Hey! You really fulled a niche with this video and did a great job doing so! It would really beneficial to link your a repository with the demo app. Also a tutorial would be nice showing how you could work around the weak points of isar e.g. if you have a more table like structure and maybe you'd even like to add rows dynamically. Thank you for the nice and clean tutorial.

    • @FlutterExplained
      @FlutterExplained  Před rokem +2

      You are most welcome. I am glad you liked the video. The repository is actually linked in the description. It is hosted on codeberg instead of github.
      codeberg.org/Flutter-Explained/isar-db-tutorial
      And I added your suggestion to my planned video list :)

    • @thebaconbreadful
      @thebaconbreadful Před rokem

      @@FlutterExplained thanks for your response and consideration of my request! Yea, I overlooked the repo. Thanks again for relinking it for me.

  • @tinabh
    @tinabh Před rokem +1

    great stuff 😂 I guess it looks like Hive is not maintained anymore, so will try Isar and see if I get it to work.

  • @treadingview352
    @treadingview352 Před rokem

    Complete series

  • @irhasdev
    @irhasdev Před rokem

    What happen if linked entity was deleted? is its the data can still be seen?

  • @utpalgaurav14
    @utpalgaurav14 Před rokem

    Can anyone please explain the steps on how to run Isar Inspector?

  • @user-ix4jq3ef2v
    @user-ix4jq3ef2v Před měsícem

    What if I have separation of concerns and make models have its own services like: PostService, CourseService, will the code remain the same in terms of opening/getting the instance of Isar?

  • @okokokokokok5173
    @okokokokokok5173 Před rokem +3

    I was looking for db like this that link the relationships directly, because i was using moor orm, or sqflite directly and it was so painful.

  • @treadingview352
    @treadingview352 Před rokem

    Sir pls make a video on OAuth

  • @returnZeroo
    @returnZeroo Před rokem +3

    I couldn't open isar inspector on web like you.

    • @FlutterExplained
      @FlutterExplained  Před rokem

      Please check if you are working on the Isar DB version 3+ because the Web Inspector got introduced there. YOu can download the Isar Inspector as a standalone for Version 2.x
      github.com/isar/isar/releases/tag/2.5.0

  • @roslanamir9760
    @roslanamir9760 Před rokem

    Dear Flutter Explained: Thanks for the video. I am working on a Flutter app for Windows desktop and I implemented Isar according to this video. Works great. But I have a problem which you may be able to help. I want to do a query to call the aggregate function to find the max value of a column. The Isar documentation suggests the .max() function but no example is given. I has asked at StackOverflow but nobody answered.

  • @marasontleitu6415
    @marasontleitu6415 Před 4 měsíci

    I trying to store color user choose but isar don't support , so need to change to string or int i will so happy if isar support color.

  • @Omarhi51llarious4tsxdl1l

    How to update data???

  • @Omarhi51llarious4tsxdl1l

    The named parameter 'initialReturn' isn't defined

  • @DraskoSaric
    @DraskoSaric Před rokem +1

    Hi, great video! I am curious, why did you choose to use synchronous method for writing data into Isar over async approach? Is it safe to be sure that it won't affect the performance of UI main thread?

    • @FlutterExplained
      @FlutterExplained  Před rokem +3

      Hi, great question. It was not really intentional but and just wanted to make sure that the transaction is done afterwards and I can be sure that the data is there where I need them to showcase easier.
      If you do not need the data right away to move it into an async thread makes a lot of sense.

    • @DraskoSaric
      @DraskoSaric Před rokem

      @@FlutterExplained I guess you can as well write `await isar.writeTxn(...)`, that way you will be sure that the transaction is done. Am I correct?

  • @shehryarkhan7555
    @shehryarkhan7555 Před rokem

    Thanku for the isar DB tutorial How can we delete single subject not all of them for the DB

  • @LeeCasey
    @LeeCasey Před rokem

    where did the isar_service.dart file come from? It wasn't generated for me.

    • @rojohnson
      @rojohnson Před rokem

      Same question, maybe I missed something but that did not create for me either

  • @treadingview352
    @treadingview352 Před rokem +1

    Sir make a video on how to fetch data from api and save to local database

  • @sergey_molchanovsky
    @sergey_molchanovsky Před rokem

    24:01 - why did you filter students by course id, if you have a backlink to students in a Course model, setup earlier?
    Cannot you do just `courses.getById(id).students.findAll()`?