validateDatabaseSchema method
- required CommonSqlite3 sqlite3,
- bool validateDropped = true,
Compares and validates the schema of the current database with what the generated code expects.
When changing tables or other elements of your database schema, you need
to increate your GeneratedDatabase.schemaVersion
and write a migration
to transform your existing tables to the new structure.
For queries, drift always assumes that your database schema matches the structure of your defined tables. This isn't the case when you forget to write a schema migration, which can cause all kinds of problems later.
For this reason, the validateDatabaseSchema method can be used in your
database, (perhaps in a MigrationStrategy.beforeOpen
callback) to verify
that your database schema is what drift expects.
When validateDropped
is enabled (it is by default), this method also
verifies that all schema elements that you've deleted at some point are no
longer present in your runtime schema.
This variant of validateDatabaseSchema is only supported on native platforms (Android, iOS, macOS, Linux and Windows).
Implementation
Future<void> validateDatabaseSchema({
required CommonSqlite3 sqlite3,
bool validateDropped = true,
}) async {
await verifyDatabase(
this, validateDropped, () => WasmDatabase.inMemory(sqlite3));
}