mirror of
https://github.com/bitwarden/server.git
synced 2024-11-25 12:45:18 +01:00
fd71ed8584
* Add dryrun mode to MsSqlMigratorUtility * Fix * Update util/MsSqlMigratorUtility/Program.cs Co-authored-by: Matt Bishop <mbishop@bitwarden.com> * Update util/MsSqlMigratorUtility/Program.cs Co-authored-by: Matt Bishop <mbishop@bitwarden.com> * Update util/MsSqlMigratorUtility/Program.cs Co-authored-by: Matt Bishop <mbishop@bitwarden.com> * Fixes * Fix using * Format * Update util/MsSqlMigratorUtility/Program.cs Co-authored-by: Matt Bishop <mbishop@bitwarden.com> * Fixes * Fix after merge * Fix * Fix * Remove unnecessary param name --------- Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using Bit.Migrator;
|
|
using CommandDotNet;
|
|
|
|
internal class Program
|
|
{
|
|
private static int Main(string[] args)
|
|
{
|
|
return new AppRunner<Program>().Run(args);
|
|
}
|
|
|
|
[DefaultCommand]
|
|
public void Execute(
|
|
[Operand(Description = "Database connection string")]
|
|
string databaseConnectionString,
|
|
[Option('r', "repeatable", Description = "Mark scripts as repeatable")]
|
|
bool repeatable = false,
|
|
[Option('f', "folder", Description = "Folder name of database scripts")]
|
|
string folderName = MigratorConstants.DefaultMigrationsFolderName,
|
|
[Option('d', "dry-run", Description = "Print the scripts that will be applied without actually executing them")]
|
|
bool dryRun = false
|
|
) => MigrateDatabase(databaseConnectionString, repeatable, folderName, dryRun);
|
|
|
|
private static bool MigrateDatabase(string databaseConnectionString,
|
|
bool repeatable = false, string folderName = "", bool dryRun = false)
|
|
{
|
|
var migrator = new DbMigrator(databaseConnectionString);
|
|
bool success;
|
|
if (!string.IsNullOrWhiteSpace(folderName))
|
|
{
|
|
success = migrator.MigrateMsSqlDatabaseWithRetries(true, repeatable, folderName, dryRun);
|
|
}
|
|
else
|
|
{
|
|
success = migrator.MigrateMsSqlDatabaseWithRetries(true, repeatable, dryRun: dryRun);
|
|
}
|
|
|
|
return success;
|
|
}
|
|
}
|