Example #1
0
        public ActionResult Update(string password, string target = null)
        {
            if (password != WebAppSettings.DbMigrationSecret)
            {
                return(HttpNotFound());
            }

            try {
                lock (_migrationLock) {
                    var migrator = new DatabaseMigrator <ApplicationDbContext, App.DataAccess.Migrations.Configuration>();
                    migrator.MigrateToLatestVersion(true, string.IsNullOrWhiteSpace(target) ? null : target);
                    return(Json(new {
                        Status = true,
                        Message =
                            $"Success in migrating DB. Target migration: {(string.IsNullOrWhiteSpace(target) ? "#LATEST#" : target)}"
                    }, JsonRequestBehavior.AllowGet));
                }
            } catch (Exception ex) {
                _logger.LogError(ex);
                return(Json(new {
                    Status = false,
                    Error = ex.Message,
                    ErrorInner = ex.InnerException?.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
        protected void Application_Start()
        {
            lock (_dbMigrationLock) {
                if (GlobalWebConfig.DbMigration_MigrateOnAppStart)
                {
                    var dbMigrator = new DatabaseMigrator <ApplicationDbContext, DbMigrationConfiguration>();
                    dbMigrator.MigrateToLatestVersion(GlobalWebConfig.DbMigration_AllowDataLoss);
                }
            }

            // Start ProtoCMS engine
            ProtoEngine.Start();

            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }