Пример #1
0
 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();
         }
     }
 }
Пример #2
0
 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();
         }
     }
 }
Пример #3
0
 public ObkDbSynchronizer(DbSynchronizerConfiguration localConfiguration, DbSynchronizerConfiguration remoteConfiguration) : base(localConfiguration, remoteConfiguration)
 {
     ApplyLocalChangesFailed += ApplyChangeFailed;
     Logger = s => Console.WriteLine(s);
 }
Пример #4
0
 public DbSynchronizer(DbSynchronizerConfiguration localConfiguration, DbSynchronizerConfiguration remoteConfiguration)
 {
     LocalConfiguration  = localConfiguration;
     RemoteConfiguration = remoteConfiguration;
 }