internal static async Task LaunchCommandAsync(this GeneralCommandInfos command, ILogger logger, CancellationToken ct) { switch (command) { case CleanCommand clean: await CleanRunner.CleanAsync(clean, logger, ct); break; case RestoreCommand restoreCommand: await RestoreRunner.RestoreAsync(restoreCommand, logger, ct); break; case DropDatabaseCommand drop: await DropRunner.DropDatabasesAsync(drop, logger, ct); break; } }