/// <summary> /// Runs the <see cref="DatabaseExecutor"/> directly. /// </summary> /// <param name="args">The <see cref="DatabaseExecutorArgs"/>.</param> /// <returns>The return code; zero equals success.</returns> public static async Task <int> RunAsync(DatabaseExecutorArgs args) { if (args.UseBeefDbo && !args.Assemblies.Contains(typeof(DatabaseConsole).Assembly)) { args.Assemblies.Insert(0, typeof(DatabaseConsole).Assembly); } return((await new DatabaseExecutor(args ?? throw new ArgumentNullException(nameof(args))).MigrateAsync().ConfigureAwait(false)) ? 0 : 1); }
/// <summary> /// Private constructor. /// </summary> private DatabaseExecutor(DatabaseExecutorArgs args) : base(args.ConnectionString !, ConvertMigrationCommand(args.Command, args.SupportedCommands), args.Logger ?? new ConsoleLogger(), args.Assemblies.ToArray())