public CreateDatabaseDeploymentStep(DbProjectInfo projectInfo, DatabaseServer databaseServer, IDbManagerFactory dbManagerFactoryFactory) { Guard.NotNull(projectInfo, "projectInfo"); Guard.NotNull(databaseServer, "databaseServer"); Guard.NotNull(dbManagerFactoryFactory, "dbManagerFactory"); _projectInfo = projectInfo; _databaseServer = databaseServer; _dbManagerFactory = dbManagerFactoryFactory; }
public PublishDatabaseDeploymentStep(DbProjectInfo dbProjectInfo, DatabaseServer databaseServer, string artifactsDirPath, IMsSqlDatabasePublisher databasePublisher) { Guard.NotNull(dbProjectInfo, "dbProjectInfo"); Guard.NotNull(databaseServer, "databaseServer"); Guard.NotNull(artifactsDirPath, "artifactsDirPath"); Guard.NotNull(databasePublisher, "databasePublisher"); _dbProjectInfo = dbProjectInfo; _databaseServer = databaseServer; _artifactsDirPath = artifactsDirPath; _databasePublisher = databasePublisher; }
public MigrateDbDeploymentTask( IEnvironmentInfoRepository environmentInfoRepository, IArtifactsRepository artifactsRepository, IDbScriptRunnerFactory dbScriptRunnerFactory, IDbVersionProvider dbVersionProvider, DbProjectInfo projectInfo, string projectConfigurationName, string projectConfigurationBuildId, string targetEnvironmentName) : base(environmentInfoRepository, targetEnvironmentName) { if (artifactsRepository == null) { throw new ArgumentNullException("artifactsRepository"); } if (projectInfo == null) { throw new ArgumentNullException("projectInfo"); } if (string.IsNullOrEmpty(projectConfigurationName)) { throw new ArgumentException("Argument can't be null nor empty.", "projectConfigurationName"); } if (string.IsNullOrEmpty(projectConfigurationBuildId)) { throw new ArgumentException("Argument can't be null nor empty.", "projectConfigurationBuildId"); } if (dbVersionProvider == null) { throw new ArgumentNullException("dbVersionProvider"); } if (dbScriptRunnerFactory == null) { throw new ArgumentNullException("dbScriptRunnerFactory"); } _artifactsRepository = artifactsRepository; _dbScriptRunnerFactory = dbScriptRunnerFactory; _dbVersionProvider = dbVersionProvider; _projectInfo = projectInfo; _projectConfigurationName = projectConfigurationName; _projectConfigurationBuildId = projectConfigurationBuildId; }
public DbProjectConfiguration GetDbProjectConfiguration(DbProjectInfo dbProjectInfo) { Guard.NotNull(dbProjectInfo, "dbProjectInfo"); string projectName = dbProjectInfo.Name; string databaseServerId = dbProjectInfo.DatabaseServerId; DbProjectConfigurationOverride dbProjectConfigurationOverride = FindDbProjectConfigurationOverride(projectName); if (dbProjectConfigurationOverride != null) { if (!string.IsNullOrEmpty(databaseServerId)) { databaseServerId = dbProjectConfigurationOverride.DatabaseServerId; } } return (new DbProjectConfiguration( projectName, databaseServerId)); }
public DbProjectConfiguration GetDbProjectConfiguration(DbProjectInfo dbProjectInfo) { Guard.NotNull(dbProjectInfo, "dbProjectInfo"); string projectName = dbProjectInfo.Name; string databaseServerId = dbProjectInfo.DatabaseServerId; DbProjectConfigurationOverride dbProjectConfigurationOverride = FindDbProjectConfigurationOverride(projectName); if (dbProjectConfigurationOverride != null) { if (!string.IsNullOrEmpty(databaseServerId)) { databaseServerId = dbProjectConfigurationOverride.DatabaseServerId; } } return new DbProjectConfiguration( projectName, databaseServerId); }
public void SetUp() { _environmentInfoRepositoryFake = new Mock<IEnvironmentInfoRepository>(MockBehavior.Loose); _artifactsRepositoryFake = new Mock<IArtifactsRepository>(MockBehavior.Loose); _dbScriptRunnerFactoryFake = new Mock<IDbScriptRunnerFactory>(MockBehavior.Loose); _dbVersionProviderFake = new Mock<IDbVersionProvider>(MockBehavior.Loose); _environmentInfoRepositoryFake .Setup(x => x.GetByName(It.IsAny<string>())) .Returns(DeploymentDataGenerator.GetEnvironmentInfo); _dbScriptRunnerFactoryFake .Setup(x => x.CreateDbScriptRunner(It.IsAny<string>())) .Returns(new Mock<IDbScriptRunner>(MockBehavior.Loose).Object); _projectInfo = DeploymentDataGenerator.GetDbProjectInfo(); _deploymentTask = new MigrateDbDeploymentTask( _environmentInfoRepositoryFake.Object, _artifactsRepositoryFake.Object, _dbScriptRunnerFactoryFake.Object, _dbVersionProviderFake.Object, _projectInfo, _ProjectConfigurationName, _ProjectConfigurationBuildId, _TargetEnvironmentName); }
private ProjectMetadata GetDbProjectMetadata(DbProjectInfo dbProjectInfo, EnvironmentInfo environmentInfo) { var projectVersions = new List<MachineSpecificProjectVersion>(); DbProjectConfiguration dbProjectConfiguration = environmentInfo.GetDbProjectConfiguration(dbProjectInfo); DatabaseServer databaseServer = environmentInfo.GetDatabaseServer(dbProjectConfiguration.DatabaseServerId); var dbVersions = _dbVersionProvider.GetVersions( dbProjectInfo.DbName, databaseServer.MachineName); DbVersion latestDbVersion = dbVersions .Select(s => DbVersion.FromString(s.Version)) .OrderByDescending(v => v) .FirstOrDefault(); if (latestDbVersion != null) { projectVersions.Add(new MachineSpecificProjectVersion(databaseServer.MachineName, latestDbVersion.ToString())); } return new ProjectMetadata(dbProjectInfo.Name, environmentInfo.Name, projectVersions); }