private Schema LoadSchema() { var result = new Schema(StringComparer.CurrentCultureIgnoreCase); foreach (var tableName in _details.GetTableNames(_db)) { var autoIncrementName = _keyAccess.GetAutoIncrementName(tableName); var columns = new Dictionary <string, int>(); foreach (var col in _details.GetColumns(_db, tableName)) { var name = _details.GetColumnName(col); if (name == autoIncrementName) { continue; } columns[name] = !_details.IsNullableColumn(col) || _details.GetColumnDefaultValue(col) != null ? CommonDatabaseDetails.RANK_CUSTOM : _details.GetRankFromSqlType(_details.GetColumnType(col)); } result[tableName] = columns; } return(result); }