Exemplo n.º 1
0
        public override void OnBeforeStage()
        {
            base.OnBeforeStage();
            var metadataMapping = new MetadataMapping(UpgradeContext.Services.StorageDriver, UpgradeContext.Services.NameBuilder);
            var metadataTasks   = UpgradeContext.Services.MappingResolver.GetMetadataTasks();
            var executor        = new Providers.SqlExecutor(UpgradeContext.Services.StorageDriver, UpgradeContext.Services.Connection);
            var metadataSet     = new MetadataSet();
            var isRecreate      = UpgradeContext.NodeConfiguration.UpgradeMode == DomainUpgradeMode.Recreate;
            var extractor       = new MetadataExtractor(metadataMapping, executor);

            foreach (var sqlExtractionTask in metadataTasks)
            {
                if (!isRecreate)
                {
                    extractor.ExtractAssemblies(metadataSet, sqlExtractionTask);
                    extractor.ExtractTypes(metadataSet, sqlExtractionTask);
                    extractor.ExtractExtensions(metadataSet, sqlExtractionTask);
                }
            }

            ValidateMetadataTables(metadataSet, internalStage, isRecreate);
            ValidateUserTables(metadataSet, internalStage, isRecreate);

            if (UpgradeContext.Stage == UpgradeStage.Upgrading)
            {
                internalStage = Stage.AfterUpgrading;
            }
            else
            {
                internalStage = Stage.Final;
            }
        }
Exemplo n.º 2
0
        public override void OnStage()
        {
            base.OnStage();
            // here, for every custom handler or not system upgrade handler, we have updated metadata
            // also here we have a session and selected storage node for it
            // so we can finally validate that the metadata of the building node is saved into right database/scheme pair
            var metadataMapping = new MetadataMapping(UpgradeContext.Services.StorageDriver, UpgradeContext.Services.NameBuilder);
            var metadataTasks   = UpgradeContext.Services.MappingResolver.GetMetadataTasks();
            var executor        = new Providers.SqlExecutor(UpgradeContext.Services.StorageDriver, UpgradeContext.Services.Connection);
            var metadataSet     = new MetadataSet();
            var isRecreate      = UpgradeContext.NodeConfiguration.UpgradeMode == DomainUpgradeMode.Recreate;
            var extractor       = new MetadataExtractor(metadataMapping, executor);

            foreach (var sqlExtractionTask in metadataTasks)
            {
                extractor.ExtractAssemblies(metadataSet, sqlExtractionTask);
                extractor.ExtractTypes(metadataSet, sqlExtractionTask);
                extractor.ExtractExtensions(metadataSet, sqlExtractionTask);
            }

            ValidateMetadataTables(metadataSet, internalStage, isRecreate);
            ValidateUserTables(metadataSet, internalStage, isRecreate);
        }