From 9508983b156136aa68a6adc7da5ab7ee28c345cf Mon Sep 17 00:00:00 2001 From: Ben Date: Tue, 14 Jan 2025 19:58:56 +0800 Subject: [PATCH] Fix #4954: use Pomelo.EntityFrameworkCore.MySql package. --- Oqtane.Database.MySQL/MySQLDatabase.cs | 6 ++--- .../Oqtane.Database.MySQL.csproj | 4 +-- .../Infrastructure/UpgradeManager.cs | 26 +++++++++++++++++++ Oqtane.Shared/Shared/Constants.cs | 4 +-- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/Oqtane.Database.MySQL/MySQLDatabase.cs b/Oqtane.Database.MySQL/MySQLDatabase.cs index 648e903e..32759f21 100644 --- a/Oqtane.Database.MySQL/MySQLDatabase.cs +++ b/Oqtane.Database.MySQL/MySQLDatabase.cs @@ -1,9 +1,9 @@ using System.Data; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using MySql.Data.MySqlClient; -using MySql.EntityFrameworkCore.Metadata; using Oqtane.Databases; namespace Oqtane.Database.MySQL @@ -25,7 +25,7 @@ namespace Oqtane.Database.MySQL public override OperationBuilder AddAutoIncrementColumn(ColumnsBuilder table, string name) { - return table.Column(name: name, nullable: false).Annotation("MySQL:ValueGenerationStrategy", MySQLValueGenerationStrategy.IdentityColumn); + return table.Column(name: name, nullable: false).Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); } public override string ConcatenateSql(params string[] values) @@ -86,7 +86,7 @@ namespace Oqtane.Database.MySQL public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString) { - return optionsBuilder.UseMySQL(connectionString); + return optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); } private void PrepareCommand(MySqlConnection conn, MySqlCommand cmd, string query) diff --git a/Oqtane.Database.MySQL/Oqtane.Database.MySQL.csproj b/Oqtane.Database.MySQL/Oqtane.Database.MySQL.csproj index 68095cbc..d73c96ad 100644 --- a/Oqtane.Database.MySQL/Oqtane.Database.MySQL.csproj +++ b/Oqtane.Database.MySQL/Oqtane.Database.MySQL.csproj @@ -33,8 +33,8 @@ - + @@ -42,7 +42,7 @@ - + diff --git a/Oqtane.Server/Infrastructure/UpgradeManager.cs b/Oqtane.Server/Infrastructure/UpgradeManager.cs index 0ba6642b..3d082cae 100644 --- a/Oqtane.Server/Infrastructure/UpgradeManager.cs +++ b/Oqtane.Server/Infrastructure/UpgradeManager.cs @@ -74,6 +74,9 @@ namespace Oqtane.Infrastructure case "6.0.1": Upgrade_6_0_1(tenant, scope); break; + case "6.0.2": + Upgrade_6_0_2(tenant, scope); + break; } } } @@ -494,6 +497,29 @@ namespace Oqtane.Infrastructure } } + private void Upgrade_6_0_2(Tenant tenant, IServiceScope scope) + { + // remove MySql.EntityFrameworkCore package + string[] assemblies = { + "MySql.EntityFrameworkCore.dll" + }; + + foreach (var assembly in assemblies) + { + try + { + var binFolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); + var filepath = Path.Combine(binFolder, assembly); + if (System.IO.File.Exists(filepath)) System.IO.File.Delete(filepath); + } + catch (Exception ex) + { + // error deleting asesmbly + _filelogger.LogError(Utilities.LogMessage(this, $"Oqtane Error: 6.0.2 Upgrade Error Removing {assembly} - {ex}")); + } + } + } + private void AddPagesToSites(IServiceScope scope, Tenant tenant, List pageTemplates) { var tenants = scope.ServiceProvider.GetRequiredService(); diff --git a/Oqtane.Shared/Shared/Constants.cs b/Oqtane.Shared/Shared/Constants.cs index 7f56d72f..04d3bda7 100644 --- a/Oqtane.Shared/Shared/Constants.cs +++ b/Oqtane.Shared/Shared/Constants.cs @@ -4,8 +4,8 @@ namespace Oqtane.Shared { public class Constants { - public static readonly string Version = "6.0.1"; - public const string ReleaseVersions = "1.0.0,1.0.1,1.0.2,1.0.3,1.0.4,2.0.0,2.0.1,2.0.2,2.1.0,2.2.0,2.3.0,2.3.1,3.0.0,3.0.1,3.0.2,3.0.3,3.1.0,3.1.1,3.1.2,3.1.3,3.1.4,3.2.0,3.2.1,3.3.0,3.3.1,3.4.0,3.4.1,3.4.2,3.4.3,4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,5.0.0,5.0.1,5.0.2,5.0.3,5.1.0,5.1.1,5.1.2,5.2.0,5.2.1,5.2.2,5.2.3,5.2.4,6.0.0,6.0.1"; + public static readonly string Version = "6.0.2"; + public const string ReleaseVersions = "1.0.0,1.0.1,1.0.2,1.0.3,1.0.4,2.0.0,2.0.1,2.0.2,2.1.0,2.2.0,2.3.0,2.3.1,3.0.0,3.0.1,3.0.2,3.0.3,3.1.0,3.1.1,3.1.2,3.1.3,3.1.4,3.2.0,3.2.1,3.3.0,3.3.1,3.4.0,3.4.1,3.4.2,3.4.3,4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,5.0.0,5.0.1,5.0.2,5.0.3,5.1.0,5.1.1,5.1.2,5.2.0,5.2.1,5.2.2,5.2.3,5.2.4,6.0.0,6.0.1,6.0.2"; public const string PackageId = "Oqtane.Framework"; public const string ClientId = "Oqtane.Client"; public const string UpdaterPackageId = "Oqtane.Updater";