private async Task <bool> CreateSchema() { DatabaseParameters param = null; if (string.IsNullOrEmpty(_connectionString)) { if (_configWizard.ShowDialog() == System.Windows.Forms.DialogResult.OK) { param = _configWizard.Parameters; if (param == null) { return(false); } } else { return(false); } } treeView1.Enabled = false; _db = DatabaseFactory .Init(param.ConnectionString) .ExcludeDefaultSchema() .UseDatabaseFilter(new DatabaseFilter()); _db.IsSchemaFile = false; foreach (var user in param.SelectedUsers) { _db.AddSchema(user); } if (param.DropObjects) { _db.IncludeDropStatement(); } if (param.CreateUser) { _db.CreateUserScript(); } if (param.SeparateSchemas) { _db.SeparateScriptFilePerSchema(); } if (param.AutoChangeSchema) { _db.UseSchemaChangeScript(); } _db.OnSchemaProcess += _db_OnSchemaProcess; bool result = await _db.BuildAsync(); FillSchema(); treeView1.Enabled = true; statusBar.Text = ""; tsCompare.Enabled = true; tsDatabaseInfo.Enabled = true; tsSaveSchema.Enabled = true; tsCreateScript.Enabled = true; return(result); }