Exemplo n.º 1
0
 public static ProcessResults SetDBStateByVirtualExecution(string id, TargetScripts targetScripts, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     lock (_processSyncLock)
     {
         return(_dbVersionsAPI.SetDBStateByVirtualExecution(id, targetScripts, onNotificationStateChanged));
     }
 }
Exemplo n.º 2
0
 public static ProcessResults SetDBToSpecificState(string id, TargetScripts targetScripts, bool isIgnoreHistoryWarning, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     lock (_processSyncLock)
     {
         return(_dbVersionsAPI.SetDBToSpecificState(id, targetScripts, isIgnoreHistoryWarning, onNotificationStateChanged));
     }
 }
Exemplo n.º 3
0
 public static ProcessResults RecreateDBFromScratch(string id, TargetScripts targetScripts, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     lock (_processSyncLock)
     {
         return(_dbVersionsAPI.RecreateDBFromScratch(id, targetScripts, onNotificationStateChanged));
     }
 }
        public override Command Create()
        {
            Command command = new Command("virtual")
            {
                _idOption,
                _incTargetCLIOption,
            };

            command.Description = CLITextResources.VirtualCommandDescription;

            command.Handler = CommandHandler.Create <string, string>((id, incTarget) =>
            {
                _consoleProcessMessages.StartProcessMessage("virtual", id);

                _consoleProcessMessages.StartSpiiner();

                TargetScripts targetScripts = new TargetScripts(incTarget);

                ProcessResults processResults = _dbVersionsAPI.SetDBStateByVirtualExecution(id, targetScripts, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });


            return(command);
        }
Exemplo n.º 5
0
        public ProcessResults SetDBToSpecificState(string id, TargetScripts targetScripts, bool isIgnoreHistoryWarning, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
        {
            ProcessResults processTrace;

            if (isIgnoreHistoryWarning)
            {
                processTrace = RecreateDBFromScratch(id, targetScripts, onNotificationStateChanged);
            }
            else
            {
                processTrace = _syncDBToSpecificStateRunner.Run(new DBVersionsProcessArgs(id, null, targetScripts), onNotificationStateChanged);
            }

            return(processTrace);
        }
Exemplo n.º 6
0
        public override void Execute(DBVersionsProcessContext processContext)
        {
            processContext.ThrowIfNull(nameof(processContext));


            using (ArtifactExtractor _currentArtifactExtractor = _artifactExtractorFactory.Create(processContext.ProjectConfig))
            {
                List <ActionStepBase> internalSteps = new List <ActionStepBase>();

                using (var dbCommands = _dbCommandsFactory.CreateDBCommand(processContext.ProjectConfig.DBConnectionInfo))
                {
                    ScriptFileTypeBase       incrementalFileType = ScriptFileTypeBase.Create <IncrementalScriptFileType>();
                    ExecuteScriptsByTypeStep incrementalExecuteScriptsByTypeStep = _executeScriptsByTypeStepFactory.Create(incrementalFileType.FileTypeCode, dbCommands);
                    internalSteps.Add(incrementalExecuteScriptsByTypeStep);


                    string lastIncStriptFilename = GetLastIncFilename(processContext);

                    TargetScripts targetScripts = null;
                    if (processContext.ProcessArgs != null)
                    {
                        targetScripts = (processContext.ProcessArgs as DBVersionsProcessArgs).TargetScripts;
                    }

                    //Comment: We run the repeatable files and ddd files, onlyif we have all the schema on the DB. mean, only if we executed all incremiental files.
                    if (targetScripts.IncScriptFileName.Trim().ToUpperInvariant() == lastIncStriptFilename.Trim().ToUpperInvariant() ||
                        targetScripts.IncScriptFileName.Trim().ToUpperInvariant() == RuntimeScriptFile.TargetLastScriptFileName.Trim().ToUpperInvariant())
                    {
                        ScriptFileTypeBase       repeatableFileType = ScriptFileTypeBase.Create <RepeatableScriptFileType>();
                        ExecuteScriptsByTypeStep repeatableFileTypeExecuteScriptsByTypeStep = _executeScriptsByTypeStepFactory.Create(repeatableFileType.FileTypeCode, dbCommands);
                        internalSteps.Add(repeatableFileTypeExecuteScriptsByTypeStep);


                        if (processContext.ScriptFilesState.DevDummyDataScriptFilesComparer != null)
                        {
                            ScriptFileTypeBase       devDummyDataFileType = ScriptFileTypeBase.Create <DevDummyDataScriptFileType>();
                            ExecuteScriptsByTypeStep devDummyDataFileTypeExecuteScriptsByTypeStep = _executeScriptsByTypeStepFactory.Create(devDummyDataFileType.FileTypeCode, dbCommands);
                            internalSteps.Add(devDummyDataFileTypeExecuteScriptsByTypeStep);
                        }
                    }


                    ExecuteInternalSteps(internalSteps, false);
                }
            }
        }
Exemplo n.º 7
0
        public override void Execute(DBVersionsProcessContext processContext)
        {
            processContext.ThrowIfNull(nameof(processContext));


            TargetScripts targetScripts = (processContext.ProcessArgs as DBVersionsProcessArgs).TargetScripts;
            //if (processContext.ProcessArgs != null)
            //{
            //    targetScripts = (processContext.ProcessArgs as DBVersionsProcessArgs).TargetScripts;
            //}

            ScriptFilesComparerBase scriptFilesComparer = processContext.ScriptFilesState.GetScriptFilesComparerByType(_fileTypeCode);

            if (!targetScripts.TargetScriptsByType.TryGetValue(_fileTypeCode, out string targetStateScriptFileName))
            {
                targetStateScriptFileName = null;
            }
            List <RuntimeScriptFile> scriptFilesList = scriptFilesComparer.GetPendingFilesToExecute(targetStateScriptFileName);

            List <ActionStepBase> internalSteps = new List <ActionStepBase>();

            foreach (RuntimeScriptFile scriptFile in scriptFilesList)
            {
                string ignoreStr = "";
                if (processContext.IsVirtualExecution)
                {
                    ignoreStr = CoreTextResources.IgnoreBecauseVirtualExecution;
                }

                string stepName = $"{scriptFile.Filename}{ignoreStr}";

                ExecuteSingleFileScriptStep executeSingleFileScriptStep = _executeSingleFileScriptStepFactory.Create(_dbCommands, stepName, scriptFile);

                internalSteps.Add(executeSingleFileScriptStep);
            }

            ExecuteInternalSteps(internalSteps, false);
        }
Exemplo n.º 8
0
 public ProcessResults VirtualDDD(string id, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     return(_virtualDDDRunner.Run(new DBVersionsProcessArgs(id, null, TargetScripts.CreateLastState()), onNotificationStateChanged));
 }
Exemplo n.º 9
0
 public ProcessResults RecreateDBFromScratch(string id, TargetScripts targetScripts, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     return(_recreateDBFromScratchRunner.Run(new DBVersionsProcessArgs(id, null, targetScripts), onNotificationStateChanged));
 }
Exemplo n.º 10
0
 public ProcessResults InitDB(string id, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     return(_initDBRunner.Run(new DBVersionsProcessArgs(id, null, TargetScripts.CreateNoneState()), onNotificationStateChanged));
 }
Exemplo n.º 11
0
 public ProcessResults SetDBStateByVirtualExecution(string id, TargetScripts targetScripts, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
 {
     return(_virtualExecutionsRunner.Run(new DBVersionsProcessArgs(id, null, targetScripts), onNotificationStateChanged));
 }
Exemplo n.º 12
0
        public override Command Create()
        {
            Command command = new Command("recreate")
            {
                _idOption,
            };

            command.Description = CLITextResources.RecreateCommandDescription;

            command.Handler = CommandHandler.Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("recreate", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.RecreateDBFromScratch(id, TargetScripts.CreateLastState(), _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });

            return(command);
        }
Exemplo n.º 13
0
 public override void Act(ITestContext testContext)
 {
     testContext.ProcessResults = AutoVersionsDBAPI.RecreateDBFromScratch(testContext.ProjectConfig.Id, TargetScripts.CreateLastState(), null);
 }