Update MySql

This commit is contained in:
sunkaixuan 2017-06-25 05:33:39 +08:00
parent 1b5d393f88
commit ae07590a43
4 changed files with 23 additions and 5 deletions

View File

@ -99,6 +99,7 @@ namespace SqlSugar
var tableName = GetTableName(entityInfo); var tableName = GetTableName(entityInfo);
var dbColumns = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName); var dbColumns = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName);
ConvertColumns(dbColumns);
var entityColumns = entityInfo.Columns.Where(it => it.IsIgnore == false).ToList(); var entityColumns = entityInfo.Columns.Where(it => it.IsIgnore == false).ToList();
var dropColumns = dbColumns var dropColumns = dbColumns
.Where(dc => !entityColumns.Any(ec => dc.DbColumnName.Equals(ec.OldDbColumnName, StringComparison.CurrentCultureIgnoreCase))) .Where(dc => !entityColumns.Any(ec => dc.DbColumnName.Equals(ec.OldDbColumnName, StringComparison.CurrentCultureIgnoreCase)))
@ -177,6 +178,11 @@ namespace SqlSugar
} }
} }
} }
protected virtual void ConvertColumns(List<DbColumnInfo> dbColumns)
{
}
#endregion #endregion
#region Helper methods #region Helper methods

View File

@ -208,11 +208,12 @@ namespace SqlSugar
break; break;
case CSharpDataType.@short: case CSharpDataType.@short:
CheckType(bind.ShortThrow, bindProperyTypeName, validPropertyName, propertyName); CheckType(bind.ShortThrow, bindProperyTypeName, validPropertyName, propertyName);
if (bindProperyTypeName == "int16" && bindProperyTypeName == "short") if (bindProperyTypeName == "int16" || bindProperyTypeName == "short")
method = isNullableType ? getConvertInt16 : getInt16; method = isNullableType ? getConvertInt16 : getInt16;
break; break;
case CSharpDataType.@long: case CSharpDataType.@long:
method = isNullableType ? getConvetInt64 : getInt64; if (bindProperyTypeName == "int64" || bindProperyTypeName == "long")
method = isNullableType ? getConvetInt64 : getInt64;
break; break;
default: default:
method = getValueMethod; method = getValueMethod;

View File

@ -22,5 +22,14 @@ namespace SqlSugar
} }
this.Context.DbMaintenance.CreateTable(tableName, columns); this.Context.DbMaintenance.CreateTable(tableName, columns);
} }
protected override void ConvertColumns(List<DbColumnInfo> dbColumns)
{
foreach (var item in dbColumns)
{
if (item.DataType == "DateTime") {
item.Length = 0;
}
}
}
} }
} }

View File

@ -21,9 +21,10 @@ namespace SqlSugar
column_default AS `DefaultValue`, column_default AS `DefaultValue`,
column_comment AS `ColumnDescription`, column_comment AS `ColumnDescription`,
CASE WHEN COLUMN_KEY = 'PRI' CASE WHEN COLUMN_KEY = 'PRI'
THEN 1 ELSE 0 END AS `IsPrimaryKey`, THEN true ELSE false END AS `IsPrimaryKey`,
CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,
CASE WHEN is_nullable = 'YES' CASE WHEN is_nullable = 'YES'
THEN 1 ELSE 0 END AS `IsNullable` THEN true ELSE false END AS `IsNullable`
FROM FROM
Information_schema.columns where TABLE_NAME='{0}' ORDER BY TABLE_NAME"; Information_schema.columns where TABLE_NAME='{0}' ORDER BY TABLE_NAME";
return sql; return sql;
@ -67,7 +68,8 @@ namespace SqlSugar
{ {
get get
{ {
return "ALTER TABLE {0} ALTER COLUMN {1} {2}{3} {4} {5} {6}"; // return "ALTER TABLE {0} ALTER COLUMN {1} {2}{3} {4} {5} {6}";
return "alter table {0} change column {1} {1} {2}{3} {4} {5} {6}";
} }
} }
protected override string BackupDataBaseSql protected override string BackupDataBaseSql