public CommandProvider(IDbToolConfig config, IDbToolLogger logger, ITaskFactory taskFactory)
 {
     _logger      = logger;
     _settings    = config.Settings;
     _taskFactory = taskFactory;
     Add(new RestoreDatabase(_logger, _settings, _taskFactory),
         new DropDatabase(_logger, _settings, _taskFactory),
         new BackupDatabase(_logger, _settings, _taskFactory),
         new CreateDatabase(_logger, _settings, _taskFactory),
         new ListDatabases(_logger, _settings, _taskFactory),
         new PopulateContext(_logger, _settings, _taskFactory),
         new ViewDbToolVersion(_logger, _settings),
         new ContextCommand(_logger, _settings),
         new SetSettings(_logger, _settings));
     _printUsageCommand = new PrintUsageCommand(_logger, _commands);
 }
 public CommandProvider(IDbToolConfig config, IDbToolLogger logger, ITaskFactory taskFactory)
 {
     _logger = logger;
     _settings = config.Settings;
     _taskFactory = taskFactory;
     Add(new RestoreDatabase(_logger, _settings, _taskFactory),
         new DropDatabase(_logger, _settings, _taskFactory),
         new BackupDatabase(_logger, _settings, _taskFactory),
         new CreateDatabase(_logger, _settings, _taskFactory),
         new ListDatabases(_logger, _settings, _taskFactory),
         new PopulateContext(_logger, _settings, _taskFactory),
         new MigrateDatabase(_logger, _settings, _taskFactory),
         new ViewDatabaseVersion(_logger, _settings, _taskFactory),
         new ViewDbToolVersion(_logger, _settings),
         new ContextCommand(_logger, _settings),
         new SetSettings(_logger, _settings));
     _printUsageCommand = new PrintUsageCommand(_logger, _commands);
 }