public override void Pre_CreateOrUpgradePlatform() { NormalizeAllUsers(); var elevated = (IElevatedUserConfiguration)uiConfiguration; var masterElevated = ConfigurationManagerUtils.ConfigurationToMaster(elevated); var runtimeElevated = (RuntimeDatabaseConfiguration)elevated.ElevatedRuntimeDatabaseConfiguration(); bool isAzureDB = ConfigurationManagerUtils.IsDatabaseAzure(masterElevated); if (isAzureDB) { // On the unlikely scenario of an on-premise installation with Azure SQL, // we try to minimise the chance of timeouts. ConfigurationManagerUtils.QueryTimeout = 300; } ConfigurationManagerUtils.CheckIfUserHasNecessaryElevatedPermissions(masterElevated); if (!isAzureDB) { ConfigurationManagerUtils.CreateSqlServerCatalogIfDoesntExist(masterElevated, runtimeElevated.Catalog); } else { // We will not support automatically creating Azure databases. // An appropriate message is displayed. ConfigurationManagerUtils.CheckIfAzureDatabaseExists(masterElevated, runtimeElevated.Catalog); } ConfigurationManagerUtils.GrantUserPermissions((PlatformDatabaseConfiguration)uiConfiguration); ConfigurationManagerUtils.AddHubLogRole(runtimeElevated); }