Database type name should use type AssemblyQualifiedName instead of maigic string
This commit is contained in:
		@ -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>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user