exportDescriptor method
Future<void>
exportDescriptor(
- MigrationDescriptor descriptor, {
- required Directory outputRoot,
- SchemaPlan? upPlan,
- SchemaPlan? downPlan,
Writes up.sql and down.sql for descriptor under outputRoot.
Layout: <outputRoot>/<migration-id>/up.sql and down.sql.
Implementation
Future<void> exportDescriptor(
MigrationDescriptor descriptor, {
required Directory outputRoot,
SchemaPlan? upPlan,
SchemaPlan? downPlan,
}) async {
final dir = Directory(p.join(outputRoot.path, descriptor.id.toString()));
if (!dir.existsSync()) {
dir.createSync(recursive: true);
}
final upFile = File(p.join(dir.path, 'up.sql'));
final downFile = File(p.join(dir.path, 'down.sql'));
final upText = renderPlan(upPlan ?? descriptor.up);
final downText = renderPlan(downPlan ?? descriptor.down);
upFile.writeAsStringSync(upText);
downFile.writeAsStringSync(downText);
}