Browse Source

Cli migrations: specify --output-dir

pull/7889/head
Yunus Emre Kalkan 6 years ago
parent
commit
15c69d047b
  1. 8
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs
  2. 11
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/EfCoreMigrationManager.cs

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

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

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

@ -30,22 +30,25 @@ namespace Volo.Abp.Cli.ProjectModification
if (!string.IsNullOrEmpty(tenantDbContextName)) if (!string.IsNullOrEmpty(tenantDbContextName))
{ {
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, tenantDbContextName); RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, tenantDbContextName, "TenantMigrations");
} }
RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, dbContextName); RunAddMigrationCommand(dbMigrationsProjectFolder, migrationName, dbContextName, "Migrations");
} }
protected virtual void RunAddMigrationCommand( protected virtual void RunAddMigrationCommand(
string dbMigrationsProjectFolder, string dbMigrationsProjectFolder,
string migrationName, string migrationName,
string dbContext) string dbContext,
string outputDirectory)
{ {
var dbContextOption = string.IsNullOrWhiteSpace(dbContext) var dbContextOption = string.IsNullOrWhiteSpace(dbContext)
? string.Empty ? string.Empty
: $"--context {dbContext}"; : $"--context {dbContext}";
CmdHelper.RunCmd($"cd \"{dbMigrationsProjectFolder}\" && dotnet ef migrations add {migrationName} {dbContextOption}"); CmdHelper.RunCmd($"cd \"{dbMigrationsProjectFolder}\" && dotnet ef migrations add {migrationName}" +
$" --output-dir {outputDirectory}" +
$" {dbContextOption}");
} }
protected virtual string ParseModuleName(string fullModuleName) protected virtual string ParseModuleName(string fullModuleName)

Loading…
Cancel
Save