Browse Source

Cli: remove startup-project option when adding migration

pull/7889/head
Yunus Emre Kalkan 5 years ago
parent
commit
9b64278e52
  1. 7
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs
  2. 8
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs
  3. 15
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/EfCoreMigrationManager.cs
  4. 13
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs

7
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs

@ -59,7 +59,6 @@ namespace Volo.Abp.Cli.Commands
await SolutionModuleAdder.AddAsync(
solutionFile,
commandLineArgs.Target,
commandLineArgs.Options.GetOrNull(Options.StartupProject.Short, Options.StartupProject.Long),
version,
skipDbMigrations,
withSourceCode,
@ -167,12 +166,6 @@ namespace Volo.Abp.Cli.Commands
public const string Skip = "skip-db-migrations";
}
public static class StartupProject
{
public const string Short = "sp";
public const string Long = "startup-project";
}
public static class SourceCode
{
public const string Long = "with-source-code";

8
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs

@ -44,9 +44,9 @@ namespace Volo.Abp.Cli.Commands
FindDbContextName(dbMigrationsFolder)
: null;
var migrationOutput = AddMigrationAndGetOutput(dbMigrationsFolder, dbMigratorProjectPath, dbContextName);
var migrationOutput = AddMigrationAndGetOutput(dbMigrationsFolder, dbContextName);
var tenantMigrationOutput = tenantDbContextName != null ?
AddMigrationAndGetOutput(dbMigrationsFolder, dbMigratorProjectPath, tenantDbContextName)
AddMigrationAndGetOutput(dbMigrationsFolder, tenantDbContextName)
: null;
if (CheckMigrationOutput(migrationOutput) && CheckMigrationOutput(tenantMigrationOutput))
@ -96,14 +96,14 @@ namespace Volo.Abp.Cli.Commands
return Path.GetFileName(dbContext).RemovePostFix(".cs");
}
private static string AddMigrationAndGetOutput(string dbMigrationsFolder, string dbMigratorProjectPath, string dbContext)
private static string AddMigrationAndGetOutput(string dbMigrationsFolder, string dbContext)
{
var dbContextOption = string.IsNullOrWhiteSpace(dbContext)
? string.Empty
: $"--context {dbContext}";
var addMigrationCmd = $"cd \"{dbMigrationsFolder}\" && " +
$"dotnet ef migrations add Initial -s \"{dbMigratorProjectPath}\" {dbContextOption}";
$"dotnet ef migrations add Initial {dbContextOption}";
return CmdHelper.RunCmdAndGetOutput(addMigrationCmd);
}

15
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/EfCoreMigrationManager.cs

@ -17,7 +17,7 @@ namespace Volo.Abp.Cli.ProjectModification
Logger = NullLogger<EfCoreMigrationManager>.Instance;
}
public void AddMigration(string dbMigrationsCsprojFile, string module, string startupProject)
public void AddMigration(string dbMigrationsCsprojFile, string module)
{
var dbMigrationsProjectFolder = Path.GetDirectoryName(dbMigrationsCsprojFile);
var moduleName = ParseModuleName(module);
@ -30,24 +30,22 @@ namespace Volo.Abp.Cli.ProjectModification
if (!string.IsNullOrEmpty(tenantDbContextName))
{
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, startupProject, tenantDbContextName);
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, tenantDbContextName);
}
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, startupProject, dbContextName);
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, dbContextName);
}
protected virtual void RunAddMigrationCommand(
string dbMigrationsProjectFolder,
string migrationName,
string startupProject,
string dbContext)
{
var dbContextOption = string.IsNullOrWhiteSpace(dbContext)
? string.Empty
: $"--context {dbContext}";
CmdHelper.RunCmd($"cd \"{dbMigrationsProjectFolder}\" && dotnet ef migrations add {migrationName}" +
$" {GetStartupProjectOption(startupProject)} {dbContextOption}");
CmdHelper.RunCmd($"cd \"{dbMigrationsProjectFolder}\" && dotnet ef migrations add {migrationName} {dbContextOption}");
}
protected virtual string ParseModuleName(string fullModuleName)
@ -66,11 +64,6 @@ namespace Volo.Abp.Cli.ProjectModification
return "_" + new Random().Next(1, 99999);
}
protected virtual string GetStartupProjectOption(string startupProject)
{
return startupProject.IsNullOrWhiteSpace() ? "" : $" -s {startupProject}";
}
protected virtual string FindDbContextName(string dbMigrationsFolder)
{
var dbContext = Directory

13
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs

@ -78,7 +78,6 @@ namespace Volo.Abp.Cli.ProjectModification
public virtual async Task AddAsync(
[NotNull] string solutionFile,
[NotNull] string moduleName,
string startupProject,
string version,
bool skipDbMigrations = false,
bool withSourceCode = false,
@ -128,7 +127,7 @@ namespace Volo.Abp.Cli.ProjectModification
await RunBundleForBlazorAsync(projectFiles, module);
ModifyDbContext(projectFiles, module, startupProject, skipDbMigrations);
ModifyDbContext(projectFiles, module, skipDbMigrations);
}
private async Task RunBundleForBlazorAsync(string[] projectFiles, ModuleWithMastersInfo module)
@ -450,8 +449,7 @@ namespace Volo.Abp.Cli.ProjectModification
}
}
protected void ModifyDbContext(string[] projectFiles, ModuleInfo module, string startupProject,
bool skipDbMigrations = false)
protected void ModifyDbContext(string[] projectFiles, ModuleInfo module, bool skipDbMigrations = false)
{
if (string.IsNullOrWhiteSpace(module.EfCoreConfigureMethodName))
{
@ -463,11 +461,6 @@ namespace Volo.Abp.Cli.ProjectModification
return;
}
if (string.IsNullOrWhiteSpace(startupProject))
{
startupProject = projectFiles.FirstOrDefault(p => p.EndsWith(".DbMigrator.csproj"));
}
var dbMigrationsProject = projectFiles.FirstOrDefault(p => p.EndsWith(".DbMigrations.csproj"));
if (dbMigrationsProject == null)
@ -498,7 +491,7 @@ namespace Volo.Abp.Cli.ProjectModification
{
if (addedNewBuilder)
{
EfCoreMigrationManager.AddMigration(dbMigrationsProject, module.Name, startupProject);
EfCoreMigrationManager.AddMigration(dbMigrationsProject, module.Name);
}
RunMigrator(projectFiles);

Loading…
Cancel
Save