Browse Source

Update ConnectionStringChangeStep.cs

pull/3421/head
Alper Ebicoglu 7 years ago
parent
commit
733dbd4460
  1. 31
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ConnectionStringChangeStep.cs

31
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ConnectionStringChangeStep.cs

@ -1,7 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Volo.Abp.Cli.ProjectBuilding.Files; using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
@ -10,31 +12,24 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{ {
public override void Execute(ProjectBuildContext context) public override void Execute(ProjectBuildContext context)
{ {
var newConnectionString = context.BuildArgs.ConnectionString; var newConnectionString = "\"Default\": \"" + context.BuildArgs.ConnectionString + "\"";
var appSettingsJsonFiles = context.Files.Where(f => var appSettingsJsonFiles = context.Files.Where(f =>
f.Name.EndsWith("appsettings.json", StringComparison.OrdinalIgnoreCase)); f.Name.EndsWith("appsettings.json", StringComparison.OrdinalIgnoreCase));
foreach (var appSettingsJson in appSettingsJsonFiles) foreach (var appSettingsJson in appSettingsJsonFiles)
{ {
var appSettingsObject = JsonConvert.DeserializeObject<AppSettingsConnectionStringModel>(appSettingsJson.Content); try
var oldConnectionString = appSettingsObject.ConnectionStrings.Default; {
appSettingsJson.ReplaceText(oldConnectionString, newConnectionString); var jsonObject = JObject.Parse(appSettingsJson.Content);
} var defaultConnectionString = ((Newtonsoft.Json.Linq.JContainer)jsonObject["ConnectionStrings"]).First.ToString();
}
public class ConnectionStringModel
{
public string Default { get; set; }
}
public class AppSettingsConnectionStringModel
{
public ConnectionStringModel ConnectionStrings { get; set; }
public string GetDefaultConnectionString() appSettingsJson.ReplaceText(defaultConnectionString, newConnectionString);
{ }
return ConnectionStrings?.Default; catch (Exception ex)
{
Console.WriteLine("Cannot change the connection string in " + appSettingsJson.Name + ". Error: " + ex.Message);
}
} }
} }
} }

Loading…
Cancel
Save