diff --git a/src/GUI/RevEng.Shared/Cli/CliConfigMapper.cs b/src/GUI/RevEng.Shared/Cli/CliConfigMapper.cs index 292a4d7d1..fe976f3d9 100644 --- a/src/GUI/RevEng.Shared/Cli/CliConfigMapper.cs +++ b/src/GUI/RevEng.Shared/Cli/CliConfigMapper.cs @@ -113,7 +113,8 @@ public static ReverseEngineerCommandOptions ToOptions(this CliConfig config, str public static bool TryGetCliConfig(string fullPath, string connectionString, DatabaseType databaseType, List objects, CodeGenerationMode codeGenerationMode, out CliConfig config, out List warnings) { - if (File.Exists(fullPath)) + var cliConfigExists = File.Exists(fullPath); + if (cliConfigExists) { config = JsonSerializer.Deserialize(File.ReadAllText(fullPath, Encoding.UTF8)); } @@ -147,10 +148,13 @@ public static bool TryGetCliConfig(string fullPath, string connectionString, Dat warnings = ValidateExcludedColumns(config, objects); + if (!cliConfigExists || config.CodeGeneration.RefreshObjectLists) + { #pragma warning disable CA1869 // Cache and reuse 'JsonSerializerOptions' instances - var options = new JsonSerializerOptions { WriteIndented = true }; + var options = new JsonSerializerOptions { WriteIndented = true }; #pragma warning restore CA1869 // Cache and reuse 'JsonSerializerOptions' instances - File.WriteAllText(fullPath, JsonSerializer.Serialize(config, options), Encoding.UTF8); + File.WriteAllText(fullPath, JsonSerializer.Serialize(config, options), Encoding.UTF8); + } return true; }