mirror of https://github.com/abpframework/abp.git
4 changed files with 68 additions and 2 deletions
@ -0,0 +1,41 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using Newtonsoft.Json; |
|||
using Volo.Abp.Cli.ProjectBuilding.Files; |
|||
|
|||
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps |
|||
{ |
|||
public class ConnectionStringChangeStep : ProjectBuildPipelineStep |
|||
{ |
|||
public override void Execute(ProjectBuildContext context) |
|||
{ |
|||
var newConnectionString = 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; } |
|||
|
|||
public string GetDefaultConnectionString() |
|||
{ |
|||
return ConnectionStrings?.Default; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue