draftFromDatabase method

SqliteMigrationDraft draftFromDatabase({
  1. required Database database,
  2. required SchemaDocument target,
  3. 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),
  );
}