Exemplo n.º 1
0
        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.");
                }
            }
        }