public void Execute(TaskExecutionMode mode) { if (this.CancellationToken.IsCancellationRequested) { throw new OperationCanceledException(this.CancellationToken); } try { this.ScriptGenerationResult = this.ComparisonResult.GenerateScript(this.Parameters.TargetDatabaseName, this.CancellationToken); // tests don't create a SqlTask, so only add the script when the SqlTask isn't null if (this.SqlTask != null) { this.SqlTask.AddScript(SqlTaskStatus.Succeeded, this.ScriptGenerationResult.Script); if (!string.IsNullOrEmpty(this.ScriptGenerationResult.MasterScript)) { // master script is only used if the target is Azure SQL db and the script contains all operations that must be done against the master database this.SqlTask.AddScript(SqlTaskStatus.Succeeded, ScriptGenerationResult.MasterScript); } } if (!this.ScriptGenerationResult.Success) { ErrorMessage = this.ScriptGenerationResult.Message; throw new Exception(ErrorMessage); } } catch (Exception e) { ErrorMessage = e.Message; Logger.Write(TraceEventType.Error, string.Format("Schema compare generate script operation {0} failed with exception {1}", this.OperationId, e.Message)); throw; } }
public void Execute(TaskExecutionMode mode) { if (this.CancellationToken.IsCancellationRequested) { throw new OperationCanceledException(this.CancellationToken); } try { SchemaCompareScriptGenerationResult result = this.ComparisonResult.GenerateScript(this.Parameters.TargetDatabaseName); File.WriteAllText(this.Parameters.ScriptFilePath, result.Script); if (!string.IsNullOrEmpty(result.MasterScript)) { // master script is only used if the target is Azure SQL db and the script contains all operations that must be done against the master database string masterScriptPath = Path.Combine(Path.GetDirectoryName(this.Parameters.ScriptFilePath), string.Concat("master_", Path.GetFileName(this.Parameters.ScriptFilePath))); File.WriteAllText(masterScriptPath, result.MasterScript); } } catch (Exception e) { ErrorMessage = e.Message; Logger.Write(TraceEventType.Error, string.Format("Schema compare generate script operation {0} failed with exception {1}", this.OperationId, e.Message)); throw; } }
public void Execute() { if (this.CancellationToken.IsCancellationRequested) { throw new OperationCanceledException(this.CancellationToken); } try { this.ScriptGenerationResult = this.ComparisonResult.GenerateScript(this.Parameters.TargetDatabaseName); } catch (Exception e) { ErrorMessage = e.Message; Logger.Write(TraceEventType.Error, string.Format("Schema compare generate script operation {0} failed with exception {1}", this.OperationId, e.Message)); throw; } }
public SchemaCompareScriptGenerationResult GenerateScript() { ScriptGenerationResult = SchemaComparisonResult.GenerateScript("Testing"); return(ScriptGenerationResult); }