public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (DataSettingsManager.DatabaseIsInstalled) { return; } if (!Enum.TryParse(_installationConfiguration["DataProvider"], out DataProviderType dataProviderType)) { throw new DataException("Wrong data provider type."); } var dataProvider = DataProviderManager.GetDataProvider(dataProviderType); var connectionString = _installationConfiguration["ConnectionString"]; if (connectionString.IsNullOrEmpty()) { throw new DataException("Connection string is wrong."); } DataSettingsManager.SaveSettings(new DataSettings() { DataProvider = dataProviderType, ConnectionString = connectionString }, _fileProvider); DataSettingsManager.LoadSettings(reloadSettings: true); if (!dataProvider.IsDatabaseExists()) { dataProvider.CreateDatabase(_installationConfiguration["Collation"]); dataProvider.InitializeDatabase(); _installationService = EngineContext.Current.Resolve <IInstallationService>(); _installationService.InstallRequiredData(); return; } //update schema dataProvider.InitializeDatabase(); }