capture static method
Implementation
static Future<SchemaSnapshot> capture(SchemaDriver driver) async {
final schemas = await driver.listSchemas();
final tables = await driver.listTables();
final views = await driver.listViews();
final columns = <SchemaColumn>[];
final indexes = <SchemaIndex>[];
final foreignKeys = <SchemaForeignKey>[];
for (final table in tables) {
final schema = table.schema;
columns.addAll(await driver.listColumns(table.name, schema: schema));
indexes.addAll(await driver.listIndexes(table.name, schema: schema));
foreignKeys.addAll(
await driver.listForeignKeys(table.name, schema: schema),
);
}
return SchemaSnapshot(
schemas: schemas,
tables: tables,
views: views,
columns: columns,
indexes: indexes,
foreignKeys: foreignKeys,
);
}