public void ConfigureApplication(IApplicationBuilder app) { // Load settings var settings = new ServiceSettings(); app.UseAuthentication(); app.UseRouting(); app.UseAuthorization(); app.UseCors(ServiceExtensions.PangulCorsPolicy); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute("default", "{controller=Frontend}/{action=Index}/{id?}"); }); app.UseMiddleware <PangulSpaMiddleware>(new PangulSpaMiddlewareOptions() { StaticFolderRoots = new [] { settings.Folders.StaticAssetsFolder, settings.Folders.StaticAssetsFallbackFolder, }, IgnoreRoutes = new [] { "/api" }, DefaultPath = "/index.html" }); // If we don't have a database, create it now ServiceDb.CreateAndMigrateDatabaseIfMissing(); var logger = LogManager.GetCurrentClassLogger(); logger.Info("Application started"); }
public static void CreateAndMigrateDatabaseIfMissing() { var settings = new ServiceSettings(); if (!settings.Db.UseSqlite) { return; } var logger = LogManager.GetCurrentClassLogger(); var dbPath = settings.Db.Connection.Substring("DataSource=".Length); if (!File.Exists(dbPath)) { logger.Info("Missing database! Create and migrating a new database"); using (var db = new ServiceDb()) { db.Database.Migrate(); } } }