resolve module installation issue where ModuleDefinition Version property was not being populated correctly

This commit is contained in:
sbwalker 2023-08-23 09:24:36 -04:00
parent da74b0ece1
commit d9948e8ee0
2 changed files with 13 additions and 9 deletions

View File

@ -142,10 +142,10 @@ namespace Oqtane.Repository
if (moduledefinition == null) if (moduledefinition == null)
{ {
// new module definition // new module definition
moduledefinition = new ModuleDefinition { ModuleDefinitionName = ModuleDefinition.ModuleDefinitionName }; moduledefinition = new ModuleDefinition { ModuleDefinitionName = ModuleDefinition.ModuleDefinitionName, Version = ModuleDefinition.Version };
_db.ModuleDefinition.Add(moduledefinition); _db.ModuleDefinition.Add(moduledefinition);
_db.SaveChanges(); _db.SaveChanges();
ModuleDefinition.Version = ""; ModuleDefinition.Version = ""; // ensure migrations are executed during startup
} }
else else
{ {
@ -153,16 +153,18 @@ namespace Oqtane.Repository
ModuleDefinition.Name = (!string.IsNullOrEmpty(moduledefinition.Name)) ? moduledefinition.Name : ModuleDefinition.Name; ModuleDefinition.Name = (!string.IsNullOrEmpty(moduledefinition.Name)) ? moduledefinition.Name : ModuleDefinition.Name;
ModuleDefinition.Description = (!string.IsNullOrEmpty(moduledefinition.Description)) ? moduledefinition.Description : ModuleDefinition.Description; ModuleDefinition.Description = (!string.IsNullOrEmpty(moduledefinition.Description)) ? moduledefinition.Description : ModuleDefinition.Description;
ModuleDefinition.Categories = (!string.IsNullOrEmpty(moduledefinition.Categories)) ? moduledefinition.Categories : ModuleDefinition.Categories; ModuleDefinition.Categories = (!string.IsNullOrEmpty(moduledefinition.Categories)) ? moduledefinition.Categories : ModuleDefinition.Categories;
// manage releaseversions in cases where it was not provided or is lower than the module version
if (string.IsNullOrEmpty(ModuleDefinition.ReleaseVersions) || Version.Parse(ModuleDefinition.Version).CompareTo(Version.Parse(ModuleDefinition.ReleaseVersions.Split(',').Last())) > 0)
{
ModuleDefinition.ReleaseVersions = ModuleDefinition.Version;
}
ModuleDefinition.Version = moduledefinition.Version;
// remove module definition from list as it is already synced // remove module definition from list as it is already synced
moduledefinitions.Remove(moduledefinition); moduledefinitions.Remove(moduledefinition);
} }
// manage releaseversions in cases where it was not provided or is lower than the module version
if (string.IsNullOrEmpty(ModuleDefinition.ReleaseVersions) || Version.Parse(ModuleDefinition.Version).CompareTo(Version.Parse(ModuleDefinition.ReleaseVersions.Split(',').Last())) > 0)
{
ModuleDefinition.ReleaseVersions = ModuleDefinition.Version;
}
// load db properties
ModuleDefinition.ModuleDefinitionId = moduledefinition.ModuleDefinitionId; ModuleDefinition.ModuleDefinitionId = moduledefinition.ModuleDefinitionId;
ModuleDefinition.CreatedBy = moduledefinition.CreatedBy; ModuleDefinition.CreatedBy = moduledefinition.CreatedBy;
ModuleDefinition.CreatedOn = moduledefinition.CreatedOn; ModuleDefinition.CreatedOn = moduledefinition.CreatedOn;

View File

@ -123,7 +123,7 @@ namespace Oqtane.Repository
if (theme == null) if (theme == null)
{ {
// new theme // new theme
theme = new Theme { ThemeName = Theme.ThemeName }; theme = new Theme { ThemeName = Theme.ThemeName, Version = Theme.Version };
_db.Theme.Add(theme); _db.Theme.Add(theme);
_db.SaveChanges(); _db.SaveChanges();
} }
@ -131,6 +131,7 @@ namespace Oqtane.Repository
{ {
// override user customizable property values // override user customizable property values
Theme.Name = (!string.IsNullOrEmpty(theme.Name)) ? theme.Name : Theme.Name; Theme.Name = (!string.IsNullOrEmpty(theme.Name)) ? theme.Name : Theme.Name;
// remove theme from list as it is already synced // remove theme from list as it is already synced
themes.Remove(theme); themes.Remove(theme);
} }
@ -141,6 +142,7 @@ namespace Oqtane.Repository
themecontrol.Name = Theme.Name + " - " + themecontrol.Name; themecontrol.Name = Theme.Name + " - " + themecontrol.Name;
} }
// load db properties
Theme.ThemeId = theme.ThemeId; Theme.ThemeId = theme.ThemeId;
Theme.CreatedBy = theme.CreatedBy; Theme.CreatedBy = theme.CreatedBy;
Theme.CreatedOn = theme.CreatedOn; Theme.CreatedOn = theme.CreatedOn;