Skip to content

Commit

Permalink
RevEng: Add DatabaseModelFactoryOptions
Browse files Browse the repository at this point in the history
  • Loading branch information
roji committed Apr 21, 2019
1 parent 31c48ff commit dba63cb
Showing 1 changed file with 12 additions and 15 deletions.
27 changes: 12 additions & 15 deletions src/EFCore.PG/Scaffolding/Internal/NpgsqlDatabaseModelFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ namespace Npgsql.EntityFrameworkCore.PostgreSQL.Scaffolding.Internal
/// <summary>
/// The default database model factory for Npgsql.
/// </summary>
public class NpgsqlDatabaseModelFactory : IDatabaseModelFactory
public class NpgsqlDatabaseModelFactory : DatabaseModelFactory
{
#region Fields

Expand Down Expand Up @@ -75,24 +75,24 @@ public NpgsqlDatabaseModelFactory([NotNull] IDiagnosticsLogger<DbLoggerCategory.
=> _logger = Check.NotNull(logger, nameof(logger));

/// <inheritdoc />
public virtual DatabaseModel Create(string connectionString, IEnumerable<string> tables, IEnumerable<string> schemas)
public override DatabaseModel Create(string connectionString, DatabaseModelFactoryOptions options)
{
Check.NotEmpty(connectionString, nameof(connectionString));
Check.NotNull(tables, nameof(tables));
Check.NotNull(schemas, nameof(schemas));
Check.NotNull(options, nameof(options));

using (var connection = new NpgsqlConnection(connectionString))
{
return Create(connection, tables, schemas);
return Create(connection, options);
}
}

/// <inheritdoc />
public virtual DatabaseModel Create(DbConnection dbConnection, IEnumerable<string> tables, IEnumerable<string> schemas)
public override DatabaseModel Create(DbConnection dbConnection, DatabaseModelFactoryOptions options)
{
Check.NotNull(dbConnection, nameof(dbConnection));
Check.NotNull(tables, nameof(tables));
Check.NotNull(schemas, nameof(schemas));
Check.NotNull(options, nameof(options));

var databaseModel = new DatabaseModel();

var connection = (NpgsqlConnection)dbConnection;

Expand All @@ -103,15 +103,12 @@ public virtual DatabaseModel Create(DbConnection dbConnection, IEnumerable<strin

try
{
var databaseModel = new DatabaseModel
{
DatabaseName = connection.Database,
DefaultSchema = "public"
};
databaseModel.DatabaseName = connection.Database;
databaseModel.DefaultSchema = "public";

var schemaList = schemas.ToList();
var schemaList = options.Schemas.ToList();
var schemaFilter = GenerateSchemaFilter(schemaList);
var tableList = tables.ToList();
var tableList = options.Tables.ToList();
var tableFilter = GenerateTableFilter(tableList.Select(ParseSchemaTable).ToList(), schemaFilter);

var enums = GetEnums(connection, databaseModel);
Expand Down

0 comments on commit dba63cb

Please sign in to comment.