public static async Task Main(string[] args)
        {
            IHost host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                var logger   = services.GetRequiredService <ILogger <Program> >();
                try
                {
                    var context     = services.GetRequiredService <hhDbContext>();
                    var userManager = services.GetRequiredService <UserManager <User> >();
                    var roleManager = services.GetRequiredService <RoleManager <Role> >();

                    await context.Database.MigrateAsync();

                    await Seed.RolesAndUsers(userManager, roleManager);

                    await Seed.Trails(context);

                    logger.LogInformation("Database migrations and seed data executed successfully.");
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, "An error occured during migration.");
                }
            }

            await host.RunAsync();
        }