Overview of Drift features
developDrift is a reactive persistence library for Dart and Flutter applications, built on top of database libraries like sqlite3 and sqflite. Key features include:
- Type safety: Automatically turns database rows into Dart objects.
- Stream queries: Allows you to "watch" queries as auto-updating streams that emit new items when underlying data changes.
- Fluent queries: Provides generated Dart methods and classes for writing queries without manual SQL.
- Type-safe SQL: Includes an SQL parser and analyzer that validates queries at compile time and generates corresponding Dart code.
- Migration utilities: Provides helpers like
.createAllTables()to simplify schema migrations. - Data validation: Validates data before insertion to provide descriptive error messages.
- Advanced features: Supports transactions, DAOs (Data Access Objects), and efficient batched inserts.