public static string DropForeignKey(string integrityDropString) { IScripting scriptor = Scripting.CreateClass(); string[] keySplit = integrityDropString.Split(new string[] { "||" }, StringSplitOptions.RemoveEmptyEntries); return(scripting.DropForeignKey(Integrity.GetTableSchema(keySplit[0]), keySplit[0], keySplit[1])); }
private string CreateInDatabase(CompareResultModel model) { switch (model.ObjectType) { case ObjectTypeEnum.Column: return(Scripting.BuildeColumnCreate(Integrity.GetTableSchema(model.TableName), model.TableName, model.TableObject.Columns.First(col => col.ColumnName == model.ObjectName))); case ObjectTypeEnum.ForeignKeyConstraint: return(Scripting.BuildForeignKey(model.TableObject)); case ObjectTypeEnum.Table: return(Scripting.ScriptTableCreate(model.TableObject)); } return(string.Empty); }
private string DropFromDatabase(CompareResultModel model) { switch (model.ObjectType) { case ObjectTypeEnum.Column: return(Scripting.DropColumn(Integrity.GetTableSchema(model.TableName), model.TableName, model.ObjectName)); case ObjectTypeEnum.ForeignKeyConstraint: string constraintKey = $"{model.TableName}||{model.ObjectName}"; return(Scripting.DropForeignKey(constraintKey)); case ObjectTypeEnum.Table: return(Scripting.DropTable(model.TableObject)); } return(string.Empty); }
private string AlterDatabase(CompareResultModel model) { switch (model.ObjectType) { case ObjectTypeEnum.Column: return(Scripting.BuildColumnAlter(model.TableName, model.TableObject.Columns.First(col => col.ColumnName == model.ObjectName))); case ObjectTypeEnum.ForeignKeyConstraint: StringBuilder foreingResult = new StringBuilder(); string constraintKey = $"{model.TableName}||{model.ObjectName}"; foreingResult.AppendLine(Scripting.DropForeignKey(constraintKey)); foreingResult.AppendLine(Scripting.BuildForeignKey(model.TableObject)); return(foreingResult.ToString()); case ObjectTypeEnum.Table: StringBuilder tableResult = new StringBuilder(); tableResult.AppendLine(Scripting.ScriptTableCreate(model.TableObject)); foreach (ColumnObjectModel column in model.TableObject.Columns) { tableResult.AppendLine(Scripting.BuildeColumnCreate(Integrity.GetTableSchema(model.TableName), model.TableName, column)); tableResult.AppendLine(Scripting.BuildColumnAlter(model.TableName, column)); } return(tableResult.ToString()); } return(string.Empty); }
public List <ColumnObjectModel> GetTableColumns(string tableName) { IReverseEngineer result = this.CreateClass(this.dispatch); return(result.GetTableColumns(Integrity.GetTableSchema(tableName), tableName)); }