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]));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        public List <ColumnObjectModel> GetTableColumns(string tableName)
        {
            IReverseEngineer result = this.CreateClass(this.dispatch);

            return(result.GetTableColumns(Integrity.GetTableSchema(tableName), tableName));
        }