Examples

Example apps using drift

For a full example of a cross-platform Flutter app using drift following best practices, see app example in drift's repository. For interested users wanting to take a look at how to use drift in a Flutter app with a modern architecture, this is perhaps the best example to use as a starting point.

Drift's repository also contains a number of smaller examples showcasing select drift features:

  • The encryption example contains a simple Flutter app using an encrypted drift database, powered by the sqlcipher_flutter_libs package.

  • The migration example makes use of advanced schema migrations and shows how to test migrations between different database schemas by using drift's dedicated tooling for this purpose.

  • There's an example showing how to share drift database definitions between a server and a client in different packages.

  • Another example shows how to use drift-generated code in other builders (here, built_value).

Additional examples from our awesome community are available as well:

If you too have an open-source application using drift, feel free to reach out and have it added to this list!

If you are interested in seeing more drift examples, or want to contribute more examples yourself, don't hesitate to open an issue either. Providing more up-to-date examples would be a much appreciated contribution!

Additional patterns are also shown and explained on this website:


Many-to-many relationships

An example that models a shopping cart system with drift.

Backend synchronization

Approaches for syncing drift databases between clients and backends.

Importing and exporting databases

Using drift with an existing database

Tracing database operations

Using the QueryInterceptor API to log details about database operations.