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 readonly static string _typeName;
|
||||
|
||||
static MySQLDatabase()
|
||||
{
|
||||
var typeQualifiedName = typeof(MySQLDatabase).AssemblyQualifiedName;
|
||||
|
||||
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||
}
|
||||
|
||||
public MySQLDatabase() :base(_name, _friendlyName) { }
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -17,8 +17,17 @@ namespace Oqtane.Database.PostgreSQL
|
|||
|
||||
private static string _name => "PostgreSQL";
|
||||
|
||||
private readonly static string _typeName;
|
||||
|
||||
private readonly INameRewriter _rewriter;
|
||||
|
||||
static PostgreSQLDatabase()
|
||||
{
|
||||
var typeQualifiedName = typeof(PostgreSQLDatabase).AssemblyQualifiedName;
|
||||
|
||||
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||
}
|
||||
|
||||
public PostgreSQLDatabase() : base(_name, _friendlyName)
|
||||
{
|
||||
_rewriter = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
@ -26,7 +35,7 @@ namespace Oqtane.Database.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)
|
||||
{
|
||||
|
|
|
@ -5,8 +5,17 @@ namespace Oqtane.Database.SqlServer
|
|||
private static string _friendlyName => "Local Database";
|
||||
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 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 readonly static string _typeName;
|
||||
|
||||
static SqlServerDatabase()
|
||||
{
|
||||
var typeQualifiedName = typeof(SqlServerDatabase).AssemblyQualifiedName;
|
||||
|
||||
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||
}
|
||||
|
||||
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 readonly static string _typeName;
|
||||
|
||||
static SqliteDatabase()
|
||||
{
|
||||
var typeQualifiedName = typeof(SqliteDatabase).AssemblyQualifiedName;
|
||||
|
||||
_typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version"));
|
||||
}
|
||||
|
||||
public SqliteDatabase() :base(_name, _friendlyName) { }
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
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>
|
||||
<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" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user