示例#1
0
 public void RecordScriptInfoRunError(ScriptsRunErrorInfo info)
 {
     if (!_allScriptErrors.Any(s => s.ScriptName == info.ScriptName))
     {
         _allScriptErrors.Add(info);
     }
 }
示例#2
0
        private void RaiseOnScriptInfoErrorRecorded(ScriptsRunErrorInfo info)
        {
            var evt = OnScriptInfoErrorRecorded;

            if (evt == null)
            {
                return;
            }
            evt(info);
        }
示例#3
0
        private bool IsScriptRunErrorInfoTablePresent()
        {
            var statement = string.Format(
                @"SELECT Present = Count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{0}]') AND type in (N'U')",
                ScriptsRunErrorInfo.GetTableName());

            using (var connection = _configuration.GetConnection())
            {
                return(connection.Query <int>(statement).FirstOrDefault() > 0);
            }
        }
示例#4
0
        private void UpdateScriptErrorForVersion(ScriptsRunErrorInfo info, long?versionId = null)
        {
            if (!versionId.HasValue)
            {
                return;
            }

            var update = string.Format("update [{0}] set [versioninfoid] = {1} where id = {2}",
                                       ScriptsRunErrorInfo.GetTableName(),
                                       versionId,
                                       info.Id.ToString());

            using (var connection = _configuration.GetConnection())
            {
                connection.Execute(update);
            }
        }
示例#5
0
 private void CheckForScriptsRunErrorInfoTable()
 {
     Logger.InfoFormat("Creating [{0}] table, if it does not exist..", ScriptsRunErrorInfo.GetTableName());
     CreateInfoTable("scriptsrunerrorinfo_create.sql");
 }