Browse Source

Update ConnectionStringChangeStep.cs

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

Loading…
Cancel
Save