public ReplicateInBulkCommand( StorageDescriptor sourceStorageDescriptor, StorageDescriptor targetStorageDescriptor, DbManagementMode databaseManagementMode = DbManagementMode.DropAndRecreateConstraints | DbManagementMode.EnableIndexManagment | DbManagementMode.UpdateTableStatistics, ExecutionMode executionMode = null, TimeSpan?bulkCopyTimeout = null) { SourceStorageDescriptor = sourceStorageDescriptor; TargetStorageDescriptor = targetStorageDescriptor; DbManagementMode = databaseManagementMode; ExecutionMode = executionMode ?? ExecutionMode.Parallel; BulkCopyTimeout = bulkCopyTimeout ?? DefaultBulkCopyTimeout; }
public ReplicateInBulkCommand( StorageDescriptor sourceStorageDescriptor, StorageDescriptor targetStorageDescriptor, DbManagementMode databaseManagementMode = DbManagementMode.DropAndRecreateConstraints | DbManagementMode.EnableIndexManagment | DbManagementMode.UpdateTableStatistics, ExecutionMode executionMode = ExecutionMode.Parallel, TimeSpan? bulkCopyTimeout = null) { SourceStorageDescriptor = sourceStorageDescriptor; TargetStorageDescriptor = targetStorageDescriptor; DbManagementMode = databaseManagementMode; ExecutionMode = executionMode; BulkCopyTimeout = bulkCopyTimeout ?? DefaultBulkCopyTimeout; }
private static IReadOnlyCollection <ICommand> CreateReplicationCommands( TableName table, TimeSpan bulkCopyTimeout, DbManagementMode mode, Tenant?tenant) { var commands = new List <ICommand>(); commands.AddRange(CreatePreReplicationCommands(table, mode)); commands.Add(new BulkInsertDataObjectsCommand(bulkCopyTimeout)); commands.AddRange(CreatePostReplicationCommands(table, mode)); return(commands); }
private static IReadOnlyCollection <ICommand> CreateSchemaChangesCommands(DbManagementMode mode) { var commands = new List <ICommand>(); if (mode.HasFlag(DbManagementMode.DropAndRecreateViews)) { commands.Add(new DropViewsCommand()); } if (mode.HasFlag(DbManagementMode.DropAndRecreateConstraints)) { commands.Add(new DisableConstraintsCommand()); } return(commands); }
private static IReadOnlyCollection <ICommand> CreateShadowReplicationCommands(TableName table, TimeSpan bulkCopyTimeout, DbManagementMode mode) { var createTableCopyCommand = new CreateTableCopyCommand(table); var commands = new List <ICommand> { createTableCopyCommand, new DisableIndexesCommand(createTableCopyCommand.TargetTable), new BulkInsertDataObjectsCommand(bulkCopyTimeout, CreateTableCopyCommand.Prefix), new EnableIndexesCommand(createTableCopyCommand.TargetTable) }; if (mode.HasFlag(DbManagementMode.UpdateTableStatistics)) { commands.Add(new UpdateTableStatisticsCommand(createTableCopyCommand.TargetTable)); } return(commands); }
private static IReadOnlyCollection <ICommand> CreateReplicationCommands(TableName table, TimeSpan bulkCopyTimeout, DbManagementMode mode) { var commands = new List <ICommand>(); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new DisableIndexesCommand(table)); } commands.Add(new TruncateTableCommand(table)); commands.Add(new BulkInsertDataObjectsCommand(bulkCopyTimeout)); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new EnableIndexesCommand(table)); } if (mode.HasFlag(DbManagementMode.UpdateTableStatistics)) { commands.Add(new UpdateTableStatisticsCommand(table)); } return(commands); }
private static IEnumerable <ICommand> CreatePostReplicationCommands(TableName table, DbManagementMode mode) { if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { yield return(new EnableIndexesCommand(table)); } if (mode.HasFlag(DbManagementMode.UpdateTableStatistics)) { yield return(new UpdateTableStatisticsCommand(table)); } }
private static IEnumerable <ICommand> CreatePreReplicationCommands(TableName table, DbManagementMode mode) { if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { yield return(new DisableIndexesCommand(table)); } if (mode.HasFlag(DbManagementMode.TruncateTable)) { yield return(new TruncateTableCommand(table)); } }
private static IReadOnlyCollection<ICommand> CreateReplicationCommands(TableName table, TimeSpan bulkCopyTimeout, DbManagementMode mode) { var commands = new List<ICommand>(); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new DisableIndexesCommand(table)); } commands.Add(new TruncateTableCommand(table)); commands.Add(new BulkInsertDataObjectsCommand(bulkCopyTimeout)); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new EnableIndexesCommand(table)); } if (mode.HasFlag(DbManagementMode.UpdateTableStatistics)) { commands.Add(new UpdateTableStatisticsCommand(table)); } return commands; }
private static IReadOnlyCollection<ICommand> CreateSchemaChangesCommands(DbManagementMode mode) { var commands = new List<ICommand>(); if (mode.HasFlag(DbManagementMode.DropAndRecreateViews)) { commands.Add(new DropViewsCommand()); } if (mode.HasFlag(DbManagementMode.DropAndRecreateConstraints)) { commands.Add(new DisableConstraintsCommand()); } return commands; }