public void Database_Deploy() { ExpressionEditor_AcceptEdit(); var f = new DeployForm(); f.PreselectDb = LastDeploymentDb; var res = f.ShowDialog(); if (res == DialogResult.Cancel) { return; } LastDeploymentDb = f.PreselectDb; // Backup database metadata if (Preferences.Current.BackupOnSave) { var backupFilename = string.Format("{0}\\Backup_{1}_{2}.zip", Preferences.Current.BackupLocation, Handler.Database.Name, DateTime.Now.ToString("yyyyMMddhhmmssfff")); TabularDeployer.SaveModelMetadataBackup(f.DeployTargetServer.ConnectionString, f.DeployTargetDatabaseID, backupFilename); } UI.StatusLabel.Text = "Deploying..."; Application.DoEvents(); using (new Hourglass()) { bool cancelled = false; bool error = false; string message = ""; using (var df = new DeployingForm()) { df.DeployAction = () => { try { Program.UpdateDeploymentMetadata(Handler.Model, DeploymentModeMetadata.WizardUI); TabularDeployer.Deploy(Handler, f.DeployTargetServer.ConnectionString, f.DeployTargetDatabaseID, f.DeployOptions, df.CancelToken); } catch (Exception ex) { cancelled = df.CancelToken.IsCancellationRequested; error = !cancelled; message = ex.Message; df.ThreadClose(); } }; df.ShowDialog(); } if (error || cancelled) { MessageBox.Show(message, error ? "Error occured during deployment" : "Deploy cancelled", MessageBoxButtons.OK, MessageBoxIcon.Error); } UI.StatusLabel.Text = error ? "Deploy failed!" : cancelled ? "Deploy cancelled!" : "Deploy succeeded!"; } }
public void Database_Deploy() { ExpressionEditor_AcceptEdit(); var f = new DeployForm(); var res = f.ShowDialog(); if (res == DialogResult.Cancel) { return; } // Backup database metadata if (Preferences.Current.BackupOnSave) { var backupFilename = string.Format("{0}\\Backup_{1}_{2}.zip", Preferences.Current.BackupLocation, Handler.Database.Name, DateTime.Now.ToString("yyyyMMddhhmmssfff")); TabularDeployer.SaveModelMetadataBackup(f.DeployTargetServer.ConnectionString, f.DeployTargetDatabaseID, backupFilename); } UI.StatusLabel.Text = "Deploying..."; Application.DoEvents(); using (new Hourglass()) { var df = new DeployingForm(); var error = false; df.DeployAction = () => { try { TabularDeployer.Deploy(Handler, f.DeployTargetServer.ConnectionString, f.DeployTargetDatabaseID, f.DeployOptions); } catch (Exception ex) { error = true; df.ThreadClose(); MessageBox.Show(ex.Message, "Error occured during deployment", MessageBoxButtons.OK, MessageBoxIcon.Error); } }; df.ShowDialog(); UI.StatusLabel.Text = error ? "Deploy failed!" : "Deploy succeeded!"; } }