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;
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }