Getting started
Simple guide to get a drift project up and running
Drift is a reactive persistence library for Dart and Flutter applications. It's built on top of database libraries like the sqlite3 package, sqflite or sql.js and provides additional features, like:
List<Map<String, dynamic>>
that they return, drift turns rows into objects of your choice.select(users).watch()
. That's it! No sql to write, no rows to parse..createAllTables()
. You don't need to manually write your CREATE TABLE
statements and keep them updated.And much more! Drift validates data before inserting it, so you can get helpful error messages instead of just an sql error code. Of course, it supports transactions. And DAOs. And efficient batched insert statements. The list goes on.
Check out these in-depth articles to learn about drift and how to use its features.
Simple guide to get a drift project up and running
Example apps using drift
Learn about some advanced features of drift
Write typesafe sql with drift
Run multiple statements atomically
Use drift on the web or other platforms
Work in progress documentation on drift internals
A set of CLI tools to interact with drift projects
How to upgrade between major drift versions
All platforms supported by drift, and how to use them
Packages contributed by the community
Guide on writing unit tests for drift databases