improve solution related to module installation issue where ModuleDefinition Version property was not being populated correctly (#3175)
This commit is contained in:
parent
a857e3f31e
commit
d47175df8a
@ -138,14 +138,21 @@ namespace Oqtane.Repository
|
|||||||
// sync module assemblies with database
|
// sync module assemblies with database
|
||||||
foreach (ModuleDefinition ModuleDefinition in ModuleDefinitions)
|
foreach (ModuleDefinition ModuleDefinition in ModuleDefinitions)
|
||||||
{
|
{
|
||||||
|
// manage releaseversions in cases where it was not provided or is lower than the module version
|
||||||
|
if (string.IsNullOrEmpty(ModuleDefinition.ReleaseVersions) || (!string.IsNullOrEmpty(ModuleDefinition.Version) && Version.Parse(ModuleDefinition.Version).CompareTo(Version.Parse(ModuleDefinition.ReleaseVersions.Split(',').Last())) > 0))
|
||||||
|
{
|
||||||
|
ModuleDefinition.ReleaseVersions = ModuleDefinition.Version;
|
||||||
|
}
|
||||||
|
|
||||||
ModuleDefinition moduledefinition = moduledefinitions.Where(item => item.ModuleDefinitionName == ModuleDefinition.ModuleDefinitionName).FirstOrDefault();
|
ModuleDefinition moduledefinition = moduledefinitions.Where(item => item.ModuleDefinitionName == ModuleDefinition.ModuleDefinitionName).FirstOrDefault();
|
||||||
|
|
||||||
if (moduledefinition == null)
|
if (moduledefinition == null)
|
||||||
{
|
{
|
||||||
// new module definition
|
// new module definition (version is explicitly not set because it is updated as part of module migrations at startup)
|
||||||
moduledefinition = new ModuleDefinition { ModuleDefinitionName = ModuleDefinition.ModuleDefinitionName, Version = ModuleDefinition.Version };
|
moduledefinition = new ModuleDefinition { ModuleDefinitionName = ModuleDefinition.ModuleDefinitionName };
|
||||||
_db.ModuleDefinition.Add(moduledefinition);
|
_db.ModuleDefinition.Add(moduledefinition);
|
||||||
_db.SaveChanges();
|
_db.SaveChanges();
|
||||||
ModuleDefinition.Version = ""; // ensure migrations are executed during startup for new module installations
|
ModuleDefinition.Version = "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -158,12 +165,6 @@ namespace Oqtane.Repository
|
|||||||
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) || (!string.IsNullOrEmpty(ModuleDefinition.Version) && Version.Parse(ModuleDefinition.Version).CompareTo(Version.Parse(ModuleDefinition.ReleaseVersions.Split(',').Last())) > 0))
|
|
||||||
{
|
|
||||||
ModuleDefinition.ReleaseVersions = ModuleDefinition.Version;
|
|
||||||
}
|
|
||||||
|
|
||||||
// load db properties
|
// load db properties
|
||||||
ModuleDefinition.ModuleDefinitionId = moduledefinition.ModuleDefinitionId;
|
ModuleDefinition.ModuleDefinitionId = moduledefinition.ModuleDefinitionId;
|
||||||
ModuleDefinition.CreatedBy = moduledefinition.CreatedBy;
|
ModuleDefinition.CreatedBy = moduledefinition.CreatedBy;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user