public static bool IsTableColumnEquals(DatabaseType databaseType, TableColumn column1, TableColumn column2, bool excludeComment = true)
        {
            if (IsTableColumnDataTypeAndLengthEquals(databaseType, column1, column2) &&
                column1.IsNullable == column2.IsNullable &&
                column1.IsIdentity == column2.IsIdentity &&
                ValueHelper.IsStringEquals(ValueHelper.GetTrimedDefaultValue(column1.DefaultValue), ValueHelper.GetTrimedDefaultValue(column2.DefaultValue)) &&
                (excludeComment || (!excludeComment && ValueHelper.IsStringEquals(column1.Comment, column2.Comment))) &&
                ValueHelper.IsStringEquals(column1.ComputeExp, column2.ComputeExp))
            {
                return(true);
            }

            return(false);
        }
 public static bool IsPrimaryKeyEquals(TablePrimaryKey primaryKey1, TablePrimaryKey primaryKey2, bool onlyComapreColums = false, bool excludeComment = true)
 {
     if (primaryKey1 == null && primaryKey2 == null)
     {
         return(true);
     }
     else if ((primaryKey1 != null && primaryKey2 == null) || (primaryKey1 == null && primaryKey2 != null))
     {
         return(false);
     }
     else
     {
         if (IsIndexColumnsEquals(primaryKey1.Columns, primaryKey2.Columns))
         {
             if (onlyComapreColums)
             {
                 return(true);
             }
             else
             {
                 if (primaryKey1.Name == primaryKey2.Name && primaryKey1.Clustered == primaryKey2.Clustered &&
                     (excludeComment || (!excludeComment && ValueHelper.IsStringEquals(primaryKey1.Comment, primaryKey2.Comment)))
                     )
                 {
                     return(true);
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
         else
         {
             return(false);
         }
     }
 }