From 8e9194e7b72a3419a3cfbad46bd4de2bb5fabde2 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 1 Apr 2021 12:33:03 +0300 Subject: [PATCH] Cli: enable Oracle to database system --- .../Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs | 4 ++-- .../Abp/Cli/Commands/Services/ConnectionStringProvider.cs | 2 +- .../Building/Steps/DatabaseManagementSystemChangeStep.cs | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs index 002fc61303..0617ef26ff 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs @@ -419,8 +419,8 @@ namespace Volo.Abp.Cli.Commands return DatabaseManagementSystem.OracleDevart; case "sqlite": return DatabaseManagementSystem.SQLite; - case "oracle": // Currently disabled. See https://github.com/abpframework/abp/issues/6513 - // return DatabaseManagementSystem.Oracle; + case "oracle": + return DatabaseManagementSystem.Oracle; default: return DatabaseManagementSystem.NotSpecified; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs index b0da7f9db0..2e53f6a84c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs @@ -17,7 +17,7 @@ namespace Volo.Abp.Cli.Commands.Services return "Server=localhost;Port=3306;Database=MyProjectName;Uid=root;Pwd=myPassword;"; case DatabaseManagementSystem.PostgreSQL: return "Host=localhost;Port=5432;Database=MyProjectName;User ID=root;Password=myPassword;Pooling=true;MinimumPoolSize=0;MaximumPoolSize=100;Connection Lifetime=0;"; - //case DatabaseManagementSystem.Oracle: + case DatabaseManagementSystem.Oracle: case DatabaseManagementSystem.OracleDevart: return "Data Source=MyProjectName;Integrated Security=yes;"; case DatabaseManagementSystem.SQLite: diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/DatabaseManagementSystemChangeStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/DatabaseManagementSystemChangeStep.cs index 605cc842f5..b1c7a095c5 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/DatabaseManagementSystemChangeStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/DatabaseManagementSystemChangeStep.cs @@ -29,6 +29,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps ChangeEntityFrameworkCoreDependency(context,"Volo.Abp.EntityFrameworkCore.Oracle", "Volo.Abp.EntityFrameworkCore.Oracle", "AbpEntityFrameworkCoreOracleModule"); + AdjustOracleDbContextOptionsBuilder(context); ChangeUseSqlServer(context,"UseOracle"); break; @@ -55,9 +56,9 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps private void AdjustOracleDbContextOptionsBuilder(ProjectBuildContext context) { var dbContextFactoryFile = context.Files.FirstOrDefault(f => f.Name.EndsWith("MigrationsDbContextFactoryBase.cs", StringComparison.OrdinalIgnoreCase)) - ?? context.Files.First(f => f.Name.EndsWith("MigrationsDbContextFactory.cs", StringComparison.OrdinalIgnoreCase)); + ?? context.Files.FirstOrDefault(f => f.Name.EndsWith("MigrationsDbContextFactory.cs", StringComparison.OrdinalIgnoreCase)); - dbContextFactoryFile.ReplaceText("new DbContextOptionsBuilder", + dbContextFactoryFile?.ReplaceText("new DbContextOptionsBuilder", $"(DbContextOptionsBuilder<{context.BuildArgs.SolutionName.ProjectName}MigrationsDbContext>) new DbContextOptionsBuilder"); }