public static async Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try { var context = services.GetRequiredService <StoreContext>(); await context.Database.MigrateAsync(); await StoreContextSeed.SeedAsync(context, loggerFactory); var userManager = services.GetRequiredService <UserManager <AppUser> >(); var identityContext = services.GetRequiredService <AppIdentityDbContext>(); await identityContext.Database.MigrateAsync(); await AppIdentityDBContextSeed.SeedUserAsync(userManager); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex, "An error occured during migration"); } } host.Run(); }
public static async Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var context = services.GetRequiredService <DataBaseContext>(); await context.Database.MigrateAsync(); // ------ this wouldnt work either because its the database context // var userManager = services.GetRequiredService<UserManager<AppUser>>(); // var roleManager = services.GetRequiredService<RoleManager<AppRole>>(); // await AppIdentityDBContextSeed.SeedAll(userManager,roleManager); // await AppIdentityDBContextSeed.SeedUserData(userManager); // DatabaseInitializer.InitializeDatabaseSeed(context); var userManager = services.GetRequiredService <UserManager <AppUser> >(); var roleManager = services.GetRequiredService <RoleManager <AppRole> >(); var identityContext = services.GetRequiredService <AppIdentityDBContext>(); await identityContext.Database.MigrateAsync(); await AppIdentityDBContextSeed.SeedUserData(userManager); await AppIdentityDBContextSeed.SeedRoles(roleManager); // inlcude role manager here and go for it // JsonDBInitializer.SeedDbWithJsonData(context); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while seeding the database."); } } host.Run(); }