public SqlServerDeployer(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager, ILoggerSync logger)
            : base(config, project)
        {
            if (project == null)
                throw new ArgumentNullException("project");
            if (connectionManager == null)
                throw new ArgumentNullException("connectionManager");

            _connectionManager = connectionManager;
            _logger = logger ?? new NullLogger();
            _patternLookup = new CatalogPatternLookup();
        }
Exemple #2
0
        public Runner(IRunnerSettings settings, ILogger logger = null)
        {
            if (settings == null)
                throw new ArgumentNullException("settings");

            _settings = settings;
            _logger = logger ?? new NullLogger();
            var configPath = Path.Combine(Directory.GetCurrentDirectory(), "config.json");

            using (var reader = new FileInfo(configPath).OpenText())
                _config = JsonConvert.DeserializeObject<ScriptDeployerConfig>(reader.ReadToEnd());
        }
Exemple #3
0
        private void DeployScripts(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager)
        {
            using (var deployer = new SqlServerDeployer(config, project, connectionManager, _logger))
            {
                if (deployer.CanProceed() == false)
                {
                    throw new RunnerException("Cannot proceed! A more recent version has already been deployed.", RunnerResolution.StaleDeployment);
                }

                if (deployer.DeployScripts() == Returned.Failure)
                {
                    throw new RunnerException("Deploy scripts failed.");
                }
            }
        }
        public SqlServerDeployer(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager, ILoggerSync logger)
            : base(config, project)
        {
            if (project == null)
            {
                throw new ArgumentNullException("project");
            }
            if (connectionManager == null)
            {
                throw new ArgumentNullException("connectionManager");
            }

            _connectionManager = connectionManager;
            _logger            = logger ?? new NullLogger();
            _patternLookup     = new CatalogPatternLookup();
        }
        public ScriptFileDeployer(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager, ILogger logger)
            : base(config, project)
        {
            if (project == null)
                throw new ArgumentNullException("project");

            _connectionManager = connectionManager;
            _logger = logger ?? new NullLogger();
            _patternLookup = new CatalogPatternLookup();

            var fileName = string.Format("{0}_{1}_v{2}.sql", connectionManager.Server, project.Configuration.Project, project.Configuration.Version.Replace('.', '-'));
            var path = Path.Combine("G:\\", fileName);
            _writer = new StreamWriter(File.Create(path, 16384, FileOptions.Asynchronous));

            _writer.WriteLine("-- Generated {0} on {1} by {2}", DateTime.Now, Environment.MachineName, Environment.UserName);
        }
Exemple #6
0
        public ScriptFileDeployer(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager, ILogger logger)
            : base(config, project)
        {
            if (project == null)
            {
                throw new ArgumentNullException("project");
            }

            _connectionManager = connectionManager;
            _logger            = logger ?? new NullLogger();
            _patternLookup     = new CatalogPatternLookup();

            var fileName = string.Format("{0}_{1}_v{2}.sql", connectionManager.Server, project.Configuration.Project, project.Configuration.Version.Replace('.', '-'));
            var path     = Path.Combine("G:\\", fileName);

            _writer = new StreamWriter(File.Create(path, 16384, FileOptions.Asynchronous));

            _writer.WriteLine("-- Generated {0} on {1} by {2}", DateTime.Now, Environment.MachineName, Environment.UserName);
        }
Exemple #7
0
        private void DeployScripts(IScriptDeployerConfig config, IProject project, ISqlConnectionManager connectionManager)
        {
            using(var deployer = new SqlServerDeployer(config, project, connectionManager, _logger))
            {
                if (deployer.CanProceed() == false)
                    throw new RunnerException("Cannot proceed! A more recent version has already been deployed.", RunnerResolution.StaleDeployment);

                if (deployer.DeployScripts() == Returned.Failure)
                    throw new RunnerException("Deploy scripts failed.");
            }
        }
 protected ScriptDeployerBase(IScriptDeployerConfig config, IProject project)
 {
     DeployerConfig = config;
     Project = project;
 }
Exemple #9
0
 protected ScriptDeployerBase(IScriptDeployerConfig config, IProject project)
 {
     DeployerConfig = config;
     Project        = project;
 }