private void ApplyProvision(DbSynchronizerConfiguration configuration, Action <DbSyncScopeDescription> defineScope) { using (var connection = new SqlConnection(configuration.ConnectionString)) { var provision = new SqlSyncScopeProvisioning(connection) { ObjectPrefix = configuration.ObjectPrefix ?? string.Empty, ObjectSchema = configuration.ObjectSchema ?? string.Empty, }; if (!provision.ScopeExists(configuration.ScopeName)) { var scopeDescription = new DbSyncScopeDescription(configuration.ScopeName); defineScope(scopeDescription); provision.SetCreateTableDefault(DbSyncCreationOption.Skip); provision.PopulateFromScopeDescription(scopeDescription); provision.Apply(); } } }
private void CheckSchema(DbSynchronizerConfiguration configuration) { if (configuration == null || string.IsNullOrEmpty(configuration.ObjectSchema)) { return; } using (var connection = new SqlConnection(configuration.ConnectionString)) { var checkCommand = connection.CreateCommand(); checkCommand.CommandText = string.Format("select schema_id from sys.schemas where name='{0}'", configuration.ObjectSchema); connection.Open(); var reader = checkCommand.ExecuteReader(); var hasRows = reader.HasRows; reader.Close(); if (!hasRows) { var createSchemaCommand = connection.CreateCommand(); createSchemaCommand.CommandText = string.Format("CREATE SCHEMA {0}", configuration.ObjectSchema); createSchemaCommand.ExecuteNonQuery(); } } }
public ObkDbSynchronizer(DbSynchronizerConfiguration localConfiguration, DbSynchronizerConfiguration remoteConfiguration) : base(localConfiguration, remoteConfiguration) { ApplyLocalChangesFailed += ApplyChangeFailed; Logger = s => Console.WriteLine(s); }
public DbSynchronizer(DbSynchronizerConfiguration localConfiguration, DbSynchronizerConfiguration remoteConfiguration) { LocalConfiguration = localConfiguration; RemoteConfiguration = remoteConfiguration; }