draftFromDatabase method
SqliteMigrationDraft
draftFromDatabase({
- required Database database,
- required SchemaDocument target,
- required String migrationName,
Creates a migration draft by diffing the live database against target.
Implementation
SqliteMigrationDraft draftFromDatabase({
required sqlite.Database database,
required SchemaDocument target,
required String migrationName,
}) {
final source = filterSchemaForUserModels(
planner.schemaIntrospector.introspect(database),
historyTableName: SqliteMigrationRunner.historyTableName,
);
final plan = _mergeRiskWarnings(
planner.plan(from: source, to: target),
detectPotentialDataLossWarnings(from: source, to: target),
);
return SqliteMigrationDraft(
name: migrationName,
generatedAt: DateTime.now().toUtc(),
plan: plan,
beforeSchema: schemaToSource(source),
afterSchema: schemaToSource(target),
);
}