void GetTables() { using (var command = new NpgsqlCommand(GetTablesQuery, _connection)) using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new DatabaseTable { Schema = reader.GetValueOrDefault <string>("nspname"), Name = reader.GetValueOrDefault <string>("relname") }; if (_tableSelectionSet.Allows(table.Schema, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } var comment = reader.GetValueOrDefault <string>("description"); if (comment != null) { table[NpgsqlAnnotationNames.Comment] = comment; } } } }
private void GetTables() { var command = _connection.CreateCommand(); // for origin of the sys.extended_properties SELECT statement // below see https://github.com/aspnet/EntityFramework/issues/5126 command.CommandText = @"SELECT schema_name(t.schema_id) AS [schema], t.name" + MemoryOptimizedTableColumn + @" FROM sys.tables AS t WHERE t.is_ms_shipped = 0 AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = t.object_id AND minor_id = 0 AND class = 1 AND name = N'microsoft_database_tools_support') " + $"AND t.name <> '{HistoryRepository.DefaultTableName}'" + TemporalTableWhereClause; // Interpolation okay; strings using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { Database = _databaseModel, SchemaName = reader.GetValueOrDefault <string>("schema"), Name = reader.GetValueOrDefault <string>("name") }; if (!string.IsNullOrEmpty(MemoryOptimizedTableColumn)) { table[SqlServerFullAnnotationNames.Instance.MemoryOptimized] = reader.GetValueOrDefault <bool?>("is_memory_optimized"); } Logger.LogDebug( RelationalDesignEventId.FoundTable, () => SqlServerDesignStrings.FoundTable(table.SchemaName, table.Name)); if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } else { Logger.LogDebug( RelationalDesignEventId.TableSkipped, () => SqlServerDesignStrings.TableNotInSelectionSet(table.SchemaName, table.Name)); } } } }
private void GetTables() { var command = _connection.CreateCommand(); // for origin of the sys.extended_properties SELECT statement // below see https://github.com/aspnet/EntityFramework/issues/5126 command.CommandText = @"SELECT schema_name(t.schema_id) AS [schema], t.name FROM sys.tables AS t WHERE t.is_ms_shipped = 0 AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = t.object_id AND minor_id = 0 AND class = 1 AND name = N'microsoft_database_tools_support') " + $"AND t.name <> '{HistoryRepository.DefaultTableName}'" + TemporalTableWhereClause; using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { Database = _databaseModel, SchemaName = reader.GetValueOrDefault <string>("schema"), Name = reader.GetValueOrDefault <string>("name") }; Logger.LogTrace(SqlServerDesignStrings.FoundTable(table.SchemaName, table.Name)); if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } else { Logger.LogTrace( SqlServerDesignStrings.TableNotInSelectionSet(table.SchemaName, table.Name)); } } } }
void GetTables() { using (var command = new NpgsqlCommand(GetTablesQuery, _connection)) using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { SchemaName = reader.GetString(0), Name = reader.GetString(1) }; if (_tableSelectionSet.Allows(table.SchemaName, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } } } }
private void GetTables() { var command = _connection.CreateCommand(); command.CommandText = @"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'TABLE' AND (SUBSTRING(TABLE_NAME, 1,2) <> '__')"; using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new TableModel { SchemaName = null, Name = reader.GetValueOrDefault <string>("TABLE_NAME") }; if (_tableSelectionSet.Allows(table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } } } }
private void GetTables() { using (var command = _connection.CreateCommand()) { command.CommandText = "SELECT name FROM sqlite_master" + " WHERE type = 'table'" + " AND name <> 'sqlite_sequence'" + $" AND name <> '{HistoryRepository.DefaultTableName}'"; // Interpolation okay; strings using (var reader = command.ExecuteReader()) { while (reader.Read()) { var name = reader.GetValueOrDefault <string>("name"); Logger.LogDebug( RelationalDesignEventId.FoundTable, () => SqliteDesignStrings.FoundTable(name)); if (_tableSelectionSet.Allows(name)) { var table = new TableModel { Database = _databaseModel, Name = name }; _databaseModel.Tables.Add(table); _tables.Add(name, table); } else { Logger.LogDebug( RelationalDesignEventId.TableSkipped, () => SqliteDesignStrings.TableNotInSelectionSet(name)); } } } } }
void GetTables() { using (var command = new FbCommand(GetTablesQuery, _connection)) using (var reader = command.ExecuteReader()) { while (reader.Read()) { var table = new DatabaseTable { Schema = null, Name = reader.GetString(0).Trim() }; Logger.LogDebug($"GetTables => Add { reader.GetString(0).Trim() }."); if (_tableSelectionSet.Allows(table.Schema, table.Name)) { _databaseModel.Tables.Add(table); _tables[TableKey(table)] = table; } } } }
private IEnumerable <DatabaseTable> GetTables(DbConnection connection, IEnumerable <string> tables) { var tableSelectionSet = new TableSelectionSet(tables); var command = connection.CreateCommand(); command.CommandText = new StringBuilder() .AppendLine("SELECT \"name\"") .AppendLine("FROM \"sqlite_master\"") .Append("WHERE \"type\" = 'table' AND instr(\"name\", 'sqlite_') <> 1 AND \"name\" <> '") .Append(HistoryRepository.DefaultTableName) .AppendLine("';") .ToString(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var name = reader.GetString(0); if (!tableSelectionSet.Allows(name)) { continue; } _logger.TableFound(name); var table = new DatabaseTable { Name = name }; foreach (var column in GetColumns(connection, name)) { column.Table = table; table.Columns.Add(column); } var primaryKey = GetPrimaryKey(connection, name, table.Columns); if (primaryKey != null) { primaryKey.Table = table; table.PrimaryKey = primaryKey; } foreach (var uniqueConstraints in GetUniqueConstraints(connection, name, table.Columns)) { uniqueConstraints.Table = table; table.UniqueConstraints.Add(uniqueConstraints); } foreach (var index in GetIndexes(connection, name, table.Columns)) { index.Table = table; table.Indexes.Add(index); } yield return(table); } } foreach (var tableSelection in tableSelectionSet.Tables.Where(t => !t.IsMatched)) { _logger.MissingTableWarning(tableSelection.Text); } }