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!
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
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.
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.. 👏
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.
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.
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 :)
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?
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.
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()`?
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?
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
Looks like Isar db project is not maintain anymore. It's starting to create trouble and blocking some other library into older version. Any idea of a good alternative to migrate or an other data base to use ?
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.
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!
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
I am super glad it helped you!
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.
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.. 👏
Ah right the watch command :) did completely forgot about it :) thanks for sharing!
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.
@@sergey_molchanovsky that's the way to do it in a large scale app. Yup.
hey i am using vs code can you tell me why the command is not working
Wow! What a fantastic tutorial. I absolutely love the style you have. Thank you a ton.
Thank you for the amazing feedback :).
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.
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 :)
@@FlutterExplained thanks for your response and consideration of my request! Yea, I overlooked the repo. Thanks again for relinking it for me.
Thank You, it was very interesting!
Thanks for the explanation.
Thank you, being looking for this
great stuff 😂 I guess it looks like Hive is not maintained anymore, so will try Isar and see if I get it to work.
Thank you for the wonderful video sir it is very helpful for me and my team, Thanks again sir
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?
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.
@@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?
Great stuff!
Thank You, very interesting!
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()`?
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.
Great glad that I could help you here :)
Great video, thanks for that :D
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?
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.
Thanku for the isar DB tutorial How can we delete single subject not all of them for the DB
by ID
I couldn't open isar inspector on web like you.
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
Looks like Isar db project is not maintain anymore. It's starting to create trouble and blocking some other library into older version. Any idea of a good alternative to migrate or an other data base to use ?
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.
Can anyone please explain the steps on how to run Isar Inspector?
How can I download the source code?
What happen if linked entity was deleted? is its the data can still be seen?
where did the isar_service.dart file come from? It wasn't generated for me.
Same question, maybe I missed something but that did not create for me either
The named parameter 'initialReturn' isn't defined
Sir make a video on how to fetch data from api and save to local database
Alright will put it on my Video list :) thanks for the idea!
@@FlutterExplained I am waiting sir
Sir pls make a video on OAuth
Complete series
How to update data???