private static bool RecreateDatabase(IServiceProvider serviceProvider, bool deleteDatabaseIfExists) { var logger = serviceProvider.GetRequiredService <ILogger <DatabaseUtils> >(); using (var context = new KanbanContext( serviceProvider.GetRequiredService <DbContextOptions <KanbanContext> >())) { if (deleteDatabaseIfExists && context.Database.EnsureDeleted()) { logger.LogInformation("Old database has been deleted"); } if (context.Database.EnsureCreated()) { logger.LogInformation("New database has been created"); logger.LogInformation(context.Database.GenerateCreateScript()); return(true); } else { return(false); } // uruchomienie brakujacych migracji // context.Database.Migrate(); } }
private static void InsertDefaultData(IServiceProvider serviceProvider) { var logger = serviceProvider.GetRequiredService <ILogger <DatabaseUtils> >(); using (var context = new KanbanContext( serviceProvider.GetRequiredService <DbContextOptions <KanbanContext> >())) { if (context.People.Any()) { return; } var people = new List <Person>() { new Person() { Name = "Gosia" }, new Person() { Name = "Marcin" }, new Person() { Name = "Lukasz" } }; var issues = new List <Issue>() { }; context.People.AddRange(people); context.Issues.AddRange(issues); context.SaveChanges(); logger.LogInformation($"Default data has been added ({people.Count} people, {issues.Count} issues)"); } }