Command line tools for drift
The drift cli tool is experimental at the moment. Please report all issues you can find.
If your app depends on
drift_dev, you're ready to use the CLI tool. In this article, we'll use
pub run ... to start the tool. If you're using Flutter, you need to run
flutter pub run .... In either case, the tool should be run from the same folder where you keep your
Runs drift's analyzer and linter across all
.drift files in your project.
$ dart run drift_dev analyze WARNING: For file test/data/tables/tables.drift: WARNING: line 38, column 28: This table has columns without default values, so defaults can't be used for insert. ╷ 38 │ defaultConfig: INSERT INTO config DEFAULT VALUES; │ ^^^^^^ ╵ INFO: Found 1 errors or problems
Exits with error code
1 if any error was found.
This is more of a test command to verify that drift's analyzer is working correctly. It will identify all databases or daos defined in your project.
$ dart run drift_dev identify-databases Starting to scan in /tmp/example/ ... INFO: example/example.dart has drift databases or daos: Database INFO: lib/src/data/database.dart has drift databases or daos: AppDatabase INFO: test/fake_db.dart has drift databases or daos: TodoDb, SomeDao
This subcommand expects two paths, a Dart file and a target. The Dart file should contain exactly one class annotated with
@DriftDatabase. Running the following command will export the database schema to json.
$ dart run drift_dev schema dump path/to/databases.dart schema.json
The generated file (
schema.json in this case) contains information about all
- tables, including detailed information about columns
@create-queries from included drift files
- dependencies thereof
Exporting a schema can be used to generate test code for your schema migrations. For details, see the guide.