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); }
public static DbSchemaInfo Map(DbSchema schema) { var info = new DbSchemaInfo(); MapDatabaseInformation(schema, info); MapTableInformation(schema, info); return(info); }
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]); }
private static void MapDatabaseInformation(DbSchema schema, DbSchemaInfo info) { info.DatabaseId = schema.DatabaseId; info.DatabaseName = schema.DatabaseName; }