Merge pull request #1357 from hishamco/database-type
Database type name should use type AssemblyQualifiedName instead of magic string
This commit is contained in:
commit
bb195e4796
|
@ -14,11 +14,20 @@ namespace Oqtane.Database.MySQL
|
||||||
|
|
||||||
private static string _name => "MySQL";
|
private static string _name => "MySQL";
|
||||||
|
|
||||||
|
private readonly static string _typeName;
|
||||||
|
|
||||||
|
static MySQLDatabase()
|
||||||
|
{
|
||||||
|
var typeQualifiedName = typeof(MySQLDatabase).AssemblyQualifiedName;
|
||||||
|
|
||||||
|
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||||
|
}
|
||||||
|
|
||||||
public MySQLDatabase() :base(_name, _friendlyName) { }
|
public MySQLDatabase() :base(_name, _friendlyName) { }
|
||||||
|
|
||||||
public override string Provider => "MySql.EntityFrameworkCore";
|
public override string Provider => "MySql.EntityFrameworkCore";
|
||||||
|
|
||||||
public override string TypeName => "Oqtane.Database.MySQL.MySQLDatabase, Oqtane.Database.MySQL";
|
public override string TypeName => _typeName;
|
||||||
|
|
||||||
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,8 +17,17 @@ namespace Oqtane.Database.PostgreSQL
|
||||||
|
|
||||||
private static string _name => "PostgreSQL";
|
private static string _name => "PostgreSQL";
|
||||||
|
|
||||||
|
private readonly static string _typeName;
|
||||||
|
|
||||||
private readonly INameRewriter _rewriter;
|
private readonly INameRewriter _rewriter;
|
||||||
|
|
||||||
|
static PostgreSQLDatabase()
|
||||||
|
{
|
||||||
|
var typeQualifiedName = typeof(PostgreSQLDatabase).AssemblyQualifiedName;
|
||||||
|
|
||||||
|
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||||
|
}
|
||||||
|
|
||||||
public PostgreSQLDatabase() : base(_name, _friendlyName)
|
public PostgreSQLDatabase() : base(_name, _friendlyName)
|
||||||
{
|
{
|
||||||
_rewriter = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
_rewriter = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||||
|
@ -26,7 +35,7 @@ namespace Oqtane.Database.PostgreSQL
|
||||||
|
|
||||||
public override string Provider => "Npgsql.EntityFrameworkCore.PostgreSQL";
|
public override string Provider => "Npgsql.EntityFrameworkCore.PostgreSQL";
|
||||||
|
|
||||||
public override string TypeName => "Oqtane.Database.PostgreSQL.PostgreSQLDatabase, Oqtane.Database.PostgreSQL";
|
public override string TypeName => _typeName;
|
||||||
|
|
||||||
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,8 +5,17 @@ namespace Oqtane.Database.SqlServer
|
||||||
private static string _friendlyName => "Local Database";
|
private static string _friendlyName => "Local Database";
|
||||||
private static string _name => "LocalDB";
|
private static string _name => "LocalDB";
|
||||||
|
|
||||||
|
private readonly static string _typeName;
|
||||||
|
|
||||||
|
static LocalDbDatabase()
|
||||||
|
{
|
||||||
|
var typeQualifiedName = typeof(LocalDbDatabase).AssemblyQualifiedName;
|
||||||
|
|
||||||
|
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||||
|
}
|
||||||
|
|
||||||
public LocalDbDatabase() :base(_name, _friendlyName) { }
|
public LocalDbDatabase() :base(_name, _friendlyName) { }
|
||||||
|
|
||||||
public override string TypeName => "Oqtane.Database.SqlServer.LocalDbDatabase, Oqtane.Database.SqlServer";
|
public override string TypeName => _typeName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,17 @@ namespace Oqtane.Database.SqlServer
|
||||||
|
|
||||||
private static string _name => "SqlServer";
|
private static string _name => "SqlServer";
|
||||||
|
|
||||||
|
private readonly static string _typeName;
|
||||||
|
|
||||||
|
static SqlServerDatabase()
|
||||||
|
{
|
||||||
|
var typeQualifiedName = typeof(SqlServerDatabase).AssemblyQualifiedName;
|
||||||
|
|
||||||
|
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||||
|
}
|
||||||
|
|
||||||
public SqlServerDatabase() : base(_name, _friendlyName) { }
|
public SqlServerDatabase() : base(_name, _friendlyName) { }
|
||||||
|
|
||||||
public override string TypeName => "Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Database.SqlServer";
|
public override string TypeName => _typeName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,11 +14,20 @@ namespace Oqtane.Database.Sqlite
|
||||||
|
|
||||||
private static string _name => "Sqlite";
|
private static string _name => "Sqlite";
|
||||||
|
|
||||||
|
private readonly static string _typeName;
|
||||||
|
|
||||||
|
static SqliteDatabase()
|
||||||
|
{
|
||||||
|
var typeQualifiedName = typeof(SqliteDatabase).AssemblyQualifiedName;
|
||||||
|
|
||||||
|
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||||
|
}
|
||||||
|
|
||||||
public SqliteDatabase() :base(_name, _friendlyName) { }
|
public SqliteDatabase() :base(_name, _friendlyName) { }
|
||||||
|
|
||||||
public override string Provider => "Microsoft.EntityFrameworkCore.Sqlite";
|
public override string Provider => "Microsoft.EntityFrameworkCore.Sqlite";
|
||||||
|
|
||||||
public override string TypeName => "Oqtane.Database.Sqlite.SqliteDatabase, Oqtane.Database.Sqlite";
|
public override string TypeName => _typeName;
|
||||||
|
|
||||||
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name)
|
||||||
{
|
{
|
||||||
|
|
17
Oqtane.Test/Oqtane.Database.MySQL/MySqlDatabaseTests.cs
Normal file
17
Oqtane.Test/Oqtane.Database.MySQL/MySqlDatabaseTests.cs
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Oqtane.Database.MySQL.Tests
|
||||||
|
{
|
||||||
|
public class PostgreSQLDatabaseTests
|
||||||
|
{
|
||||||
|
[Fact()]
|
||||||
|
public void VerifyDatabaseTypeName()
|
||||||
|
{
|
||||||
|
// Arrange & Act
|
||||||
|
var database = new MySQLDatabase();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("Oqtane.Database.MySQL.MySQLDatabase, Oqtane.Database.MySQL", database.TypeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Oqtane.Database.PostgreSQL.Tests
|
||||||
|
{
|
||||||
|
public class PostgreSQLDatabaseTests
|
||||||
|
{
|
||||||
|
[Fact()]
|
||||||
|
public void VerifyDatabaseTypeName()
|
||||||
|
{
|
||||||
|
// Arrange & Act
|
||||||
|
var database = new PostgreSQLDatabase();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("Oqtane.Database.PostgreSQL.PostgreSQLDatabase, Oqtane.Database.PostgreSQL", database.TypeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Oqtane.Database.SqlServer.Tests
|
||||||
|
{
|
||||||
|
public class LocalDbDatabaseTests
|
||||||
|
{
|
||||||
|
[Fact()]
|
||||||
|
public void VerifyDatabaseTypeName()
|
||||||
|
{
|
||||||
|
// Arrange & Act
|
||||||
|
var database = new LocalDbDatabase();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("Oqtane.Database.SqlServer.LocalDbDatabase, Oqtane.Database.SqlServer", database.TypeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Oqtane.Database.SqlServer.Tests
|
||||||
|
{
|
||||||
|
public class SqlServerDatabaseTests
|
||||||
|
{
|
||||||
|
[Fact()]
|
||||||
|
public void VerifyDatabaseTypeName()
|
||||||
|
{
|
||||||
|
// Arrange & Act
|
||||||
|
var database = new SqlServerDatabase();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Database.SqlServer", database.TypeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
17
Oqtane.Test/Oqtane.Database.Sqlite/SqliteDatabaseTests.cs
Normal file
17
Oqtane.Test/Oqtane.Database.Sqlite/SqliteDatabaseTests.cs
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Oqtane.Database.Sqlite.Tests
|
||||||
|
{
|
||||||
|
public class SqliteDatabaseTests
|
||||||
|
{
|
||||||
|
[Fact()]
|
||||||
|
public void VerifyDatabaseTypeName()
|
||||||
|
{
|
||||||
|
// Arrange & Act
|
||||||
|
var database = new SqliteDatabase();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("Oqtane.Database.Sqlite.SqliteDatabase, Oqtane.Database.Sqlite", database.TypeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,6 +29,10 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Oqtane.Database.MySQL\Oqtane.Database.MySQL.csproj" />
|
||||||
|
<ProjectReference Include="..\Oqtane.Database.PostgreSQL\Oqtane.Database.PostgreSQL.csproj" />
|
||||||
|
<ProjectReference Include="..\Oqtane.Database.Sqlite\Oqtane.Database.Sqlite.csproj" />
|
||||||
|
<ProjectReference Include="..\Oqtane.Database.SqlServer\Oqtane.Database.SqlServer.csproj" />
|
||||||
<ProjectReference Include="..\Oqtane.Shared\Oqtane.Shared.csproj" />
|
<ProjectReference Include="..\Oqtane.Shared\Oqtane.Shared.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user