コード例 #1
0
        public static void TruncateTables(this SqlSyncScopeProvisioning provision, SqlConnection connection, List <Sitecore.Takeaway.DistributedDb.Configuration.SyncTable> tables)
        {
            Assert.IsNotNull(provision, "[DistributedDb] provision is null");

            var scopeProvisioningWrapper = new SqlSyncScopeProvisioningWrapper();

            foreach (var table in tables)
            {
                scopeProvisioningWrapper.TruncateTable(table.Name, connection);
            }
        }
コード例 #2
0
        public static void RebuildIndexes(this SqlSyncScopeProvisioning provision, SqlConnection connection, List <Sitecore.Takeaway.DistributedDb.Configuration.SyncTable> tables)
        {
            Assert.IsNotNull(provision, "[DistributedDb] provision is null");

            var scopeProvisioningWrapper = new SqlSyncScopeProvisioningWrapper();

            foreach (var table in tables)
            {
                foreach (var idx in scopeProvisioningWrapper.GetFragmentedIndexes(table.Name, connection))
                {
                    scopeProvisioningWrapper.RebuildTableIndexes(idx.TableName, idx.IndexName, connection);
                }
            }
        }
コード例 #3
0
        public static void ApplyTriggerAndProcedureUpdates(this SqlSyncScopeProvisioning provision, SqlConnection connection)
        {
            Assert.IsNotNull(provision, "[DistributedDb] provision is null");

            var scopeProvisioningWrapper = new SqlSyncScopeProvisioningWrapper();

            foreach (var table in provision.Tables)
            {
                foreach (var trigger in table.GetUpdateTriggerScripts())
                {
                    scopeProvisioningWrapper.UpdateTriggerScripts(table.LocalName, trigger, connection);
                }

                foreach (var procedure in table.GetUpdateProcedureScripts())
                {
                    scopeProvisioningWrapper.UpdateProcedureScripts(table.LocalName, procedure, connection);
                }
            }
        }