Update SqlSugar.MySqlConnector

This commit is contained in:
sunkaixuan
2022-03-27 01:52:45 +08:00
parent 2f558c9252
commit 9afdb9ce34
3 changed files with 19 additions and 5 deletions

View File

@@ -341,11 +341,11 @@ namespace SqlSugar.MySqlConnector
{ {
if (item.ColumnDescription != null) if (item.ColumnDescription != null)
{ {
if (item.UnderType == UtilConstants.GuidType && item.Length == 0) var mySqlCodeFirst = this.Context.CodeFirst as MySqlCodeFirst;
if (item.UnderType == UtilConstants.GuidType&&item.Length==0)
{ {
item.Length = 36; item.Length = 36;
} }
var mySqlCodeFirst = this.Context.CodeFirst as MySqlCodeFirst;
string sql = GetUpdateColumnSql(entity.DbTableName, mySqlCodeFirst.GetEntityColumnToDbColumn(entity, entity.DbTableName, item))+" "+(item.IsIdentity? "AUTO_INCREMENT" : "")+" " + " COMMENT '" + item.ColumnDescription + "'"; string sql = GetUpdateColumnSql(entity.DbTableName, mySqlCodeFirst.GetEntityColumnToDbColumn(entity, entity.DbTableName, item))+" "+(item.IsIdentity? "AUTO_INCREMENT" : "")+" " + " COMMENT '" + item.ColumnDescription + "'";
db.Ado.ExecuteCommand(sql); db.Ado.ExecuteCommand(sql);
} }
@@ -439,7 +439,7 @@ namespace SqlSugar.MySqlConnector
string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} default {2}"; string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} default {2}";
var dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName).First(it => it.DbColumnName.Equals(columnName, StringComparison.CurrentCultureIgnoreCase)); var dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName).First(it => it.DbColumnName.Equals(columnName, StringComparison.CurrentCultureIgnoreCase));
var value = Regex.Match(defaultValue, @"\(\d\)$").Value; var value = Regex.Match(defaultValue, @"\(\d\)$").Value;
string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType); string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType+ value);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }

View File

@@ -14,6 +14,13 @@ namespace SqlSugar.MySqlConnector
} }
public class MySqlMethod : DefaultDbMethod, IDbMethods public class MySqlMethod : DefaultDbMethod, IDbMethods
{ {
public override string DateDiff(MethodCallExpressionModel model)
{
var parameter = model.Args[0];
var parameter2 = model.Args[1];
var parameter3 = model.Args[2];
return string.Format(" TIMESTAMPDIFF({0},{1},{2}) ", parameter.MemberValue?.ToString().ToSqlFilter(), parameter2.MemberName, parameter3.MemberName);
}
public override string DateValue(MethodCallExpressionModel model) public override string DateValue(MethodCallExpressionModel model)
{ {
var parameter = model.Args[0]; var parameter = model.Args[0];
@@ -69,7 +76,7 @@ namespace SqlSugar.MySqlConnector
var parameter = model.Args[0]; var parameter = model.Args[0];
var parameter2 = model.Args[1]; var parameter2 = model.Args[1];
var parameter3 = model.Args[2]; var parameter3 = model.Args[2];
if (parameter3.MemberValue.ObjToString() == "Millisecond") if (parameter3.MemberValue.ObjToString() == "Millisecond")
{ {
parameter3.MemberValue = "Second"; parameter3.MemberValue = "Second";
return string.Format(" (DATE_ADD({1} , INTERVAL {2}/1000 {0})) ", parameter3.MemberValue, parameter.MemberName, parameter2.MemberName); return string.Format(" (DATE_ADD({1} , INTERVAL {2}/1000 {0})) ", parameter3.MemberValue, parameter.MemberName, parameter2.MemberName);

View File

@@ -71,7 +71,14 @@ namespace SqlSugar.MySqlConnector
string result = null; string result = null;
sql = new StringBuilder(); sql = new StringBuilder();
sql.AppendFormat(SqlTemplate, "Count(*)", GetTableNameString, GetWhereValueString, GetGroupByString + HavingInfos, (Skip != null || Take != null) ? null : GetOrderByString); sql.AppendFormat(SqlTemplate, "Count(*)", GetTableNameString, GetWhereValueString, GetGroupByString + HavingInfos, (Skip != null || Take != null) ? null : GetOrderByString);
if (IsCount) { return sql.ToString(); } if (IsCount)
{
if (sql.ToString().Contains("-- No table"))
{
return "-- No table";
}
return sql.ToString();
}
if (Skip != null && Take == null) if (Skip != null && Take == null)
{ {
if (this.OrderByValue == "ORDER BY ") this.OrderByValue += GetSelectValue.Split(',')[0]; if (this.OrderByValue == "ORDER BY ") this.OrderByValue += GetSelectValue.Split(',')[0];