public string GenerateUndoDeltaFragmentFooter(ChangeScript changeScript)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("DELETE FROM " + TableName
                               + " WHERE ChangeNumber = " + changeScript.GetId()
                               + " AND Project = '" + _deltaSet + "'"
                               + DbmsSyntax.GenerateStatementDelimiter());
            builder.AppendLine(DbmsSyntax.GenerateCommit());
            builder.Append("--------------- Fragment ends: " + changeScript + " ---------------");
            return(builder.ToString());
        }
        public string GenerateDoDeltaFragmentHeader(ChangeScript changeScript)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("--------------- Fragment begins: " + changeScript + " ---------------");

            builder.AppendLine("INSERT INTO " + TableName +
                               " (ChangeNumber, Project, StartDate, AppliedBy, FileName)" +
                               " VALUES (" + changeScript.GetId() + ", '" + _deltaSet + "', " +
                               DbmsSyntax.GenerateTimestamp() +
                               ", " + DbmsSyntax.GenerateChangeOwner() + ", '" + changeScript.GetDescription() + "')" +
                               DbmsSyntax.GenerateStatementDelimiter());
            builder.Append(DbmsSyntax.GenerateCommit());
            return(builder.ToString());
        }
示例#3
0
        public virtual void RecordScriptApplied(ChangeScript script)
        {
            try
            {
                string sql = string.Format(
                    CultureInfo.InvariantCulture,
                    "INSERT INTO {0} (change_number, complete_dt, applied_by, description) VALUES (@1, {1}, {2}, @2)",
                    this.changeLogTableName,
                    this.syntax.GenerateTimestamp(),
                    this.syntax.GenerateUser());

                this.queryExecuter.Execute(
                    sql,
                    script.GetId(),
                    script.GetDescription());
            }
            catch (DbException e)
            {
                throw new SchemaVersionTrackingException("Could not update change log because: " + e.Message, e);
            }
        }
示例#4
0
 public virtual string GetChangelogDeleteSql(ChangeScript script)
 {
     return(string.Format(CultureInfo.InvariantCulture, "DELETE FROM {0} WHERE change_number = {1}", this.changeLogTableName, script.GetId()));
 }