run method
Runs a PostgreSQL migration command.
Implementation
Future<int> run(List<String> args) async {
if (args.isEmpty || args.contains('--help') || args.contains('-h')) {
_writeUsage();
return 0;
}
final command = args.first;
final options = _parseOptions(args.skip(1).toList(growable: false));
try {
return switch (command) {
'connectivity' => _runConnectivity(options),
'codegen_snippet' => _runCodegenSnippet(options),
'diff' => _runDiff(options),
'deploy' => _runDeploy(options),
'dev' => _runDev(options),
'native_types' => _runNativeTypes(options),
'rollback' => _runRollback(options),
'reset' => _runReset(options),
'resolve' => _runResolve(options),
'push' => _runPush(options),
'status' => _runStatus(options),
_ => Future<int>.value(_unknownCommand(command)),
};
} on FormatException catch (error) {
err.writeln(cliError(error.message, ansiEnabled: _errAnsiEnabled));
return 2;
} on Object catch (error) {
err.writeln(cliError('$error', ansiEnabled: _errAnsiEnabled));
return 1;
}
}