コード例 #1
0
        private static List <string> SelectOutput(UpgradeActionSequence result, SqlUpgradeStage stage)
        {
            switch (stage)
            {
            case SqlUpgradeStage.NonTransactionalProlog:
                return(result.NonTransactionalPrologCommands);

            case SqlUpgradeStage.NonTransactionalEpilog:
                return(result.NonTransactionalEpilogCommands);

            case SqlUpgradeStage.PreCleanupData:
                return(result.PreCleanupDataCommands);

            case SqlUpgradeStage.CleanupData:
                return(result.CleanupDataCommands);

            case SqlUpgradeStage.PreUpgrade:
                return(result.PreUpgradeCommands);

            case SqlUpgradeStage.Upgrade:
                return(result.UpgradeCommands);

            case SqlUpgradeStage.CopyData:
                return(result.CopyDataCommands);

            case SqlUpgradeStage.PostCopyData:
                return(result.PostCopyDataCommands);

            case SqlUpgradeStage.Cleanup:
                return(result.CleanupCommands);

            default:
                throw new ArgumentOutOfRangeException("stage");
            }
        }
コード例 #2
0
        // Constructors

        public UpgradeActionSequenceBuilder(StorageDriver driver, UpgradeActionSequence result, SqlUpgradeStage stage)
        {
            ArgumentValidator.EnsureArgumentNotNull(driver, "driver");
            ArgumentValidator.EnsureArgumentNotNull(result, "result");

            this.driver = driver;

            output = SelectOutput(result, stage);

            Result = result;
            Stage  = stage;
        }
コード例 #3
0
 public UpgradeActionSequenceBuilder ForStage(SqlUpgradeStage stage)
 {
     return(stage == Stage ? this : new UpgradeActionSequenceBuilder(driver, Result, stage));
 }