Пример #1
0
        public virtual void RenameStructureSet(string oldStructureName, string newStructureName)
        {
            EnsureValidDbObjectName(oldStructureName);
            EnsureValidDbObjectName(newStructureName);

            var oldStructureTableName = DbSchemaInfo.GenerateStructureTableName(oldStructureName);
            var newStructureTableName = DbSchemaInfo.GenerateStructureTableName(newStructureName);

            var oldSpatialTableName = DbSchemaInfo.GenerateSpatialTableName(oldStructureName);
            var newSpatialTableName = DbSchemaInfo.GenerateSpatialTableName(newStructureName);

            var oldUniquesTableName = DbSchemaInfo.GenerateUniquesTableName(oldStructureName);
            var newUniquesTableName = DbSchemaInfo.GenerateUniquesTableName(newStructureName);

            var oldIndexesTableNames = new IndexesTableNames(oldStructureName);
            var newIndexesTableNames = new IndexesTableNames(newStructureName);

            if (TableExists(newStructureTableName))
            {
                throw new SisoDbException("There allready seems to exist tables for '{0}' in the database.".Inject(newStructureTableName));
            }

            OnBeforeRenameOfStructureSet(oldStructureTableName, oldSpatialTableName, oldUniquesTableName, oldIndexesTableNames);
            OnRenameStructureTable(oldStructureTableName, newStructureTableName);
            if (TableExists(oldSpatialTableName))
            {
                OnRenameSpatialTable(oldSpatialTableName, newSpatialTableName, oldStructureTableName, newStructureTableName);
            }
            OnRenameUniquesTable(oldUniquesTableName, newUniquesTableName, oldStructureTableName, newStructureTableName);
            OnRenameIndexesTables(oldIndexesTableNames, newIndexesTableNames, oldStructureTableName, newStructureTableName);
            OnAfterRenameOfStructureSet(newStructureTableName, newSpatialTableName, newUniquesTableName, newIndexesTableNames);
        }
Пример #2
0
        public static DbSchemaInfo Map(DbSchema schema)
        {
            var info = new DbSchemaInfo();

            MapDatabaseInformation(schema, info);
            MapTableInformation(schema, info);

            return(info);
        }
Пример #3
0
        private static void MapTableInformation(DbSchema schema, DbSchemaInfo info)
        {
            foreach (var table in schema.Tables)
            {
                var tSchema = new TableSchemaInfo();
                tSchema.TableName = table.TableName;
                MapColumnInformation(table, tSchema);

                info.Tables.Add(tSchema);
            }
        }
 internal DbSchemaInfo GetSchema(int i)
 {
     if (_schema == null)
     {
         _schema = new DbSchemaInfo[Count];
     }
     if (_schema[i] == null)
     {
         _schema[i] = new DbSchemaInfo();
     }
     return(_schema[i]);
 }
Пример #5
0
 private static void MapDatabaseInformation(DbSchema schema, DbSchemaInfo info)
 {
     info.DatabaseId   = schema.DatabaseId;
     info.DatabaseName = schema.DatabaseName;
 }