static async Task Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Information() .Enrich.FromLogContext() .WriteTo.Console() .CreateLogger(); _configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddEnvironmentVariables() .Build(); var lastArg = 0; for (; lastArg < args.Length; lastArg++) { if (IsArg(args[lastArg], "contact")) { Log.Information("Run migration - Contact Db"); Run(DBName.Contact); continue; } if (IsArg(args[lastArg], "personal")) { Log.Information("Run migration - Personal Db"); Run(DBName.Personal); continue; } if (IsArg(args[lastArg], "identity")) { Log.Information("Run migration - Identity Db"); Run(DBName.Identity); await IdentityConfig.SeedData(_configuration.GetConnectionString(DBName.Identity.ToString())); continue; } else { throw new ArgumentOutOfRangeException($"{args[lastArg]} not found."); } } }