mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-18 09:44:39 +08:00
Update mssql drop column
This commit is contained in:
@@ -321,6 +321,22 @@ namespace SqlSugar
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
public override bool DropColumn(string tableName, string columnName)
|
||||
{
|
||||
if (Regex.IsMatch(tableName,@"^\w+$") && Regex.IsMatch(columnName,@"^\w+$"))
|
||||
{
|
||||
var sql = $"SELECT distinct dc.name AS ConstraintName \r\nFROM sys.default_constraints dc\r\nJOIN sys.columns c ON dc.parent_column_id = c.column_id\r\nWHERE dc.parent_object_id = OBJECT_ID('{tableName}')\r\nAND c.name = '{columnName}';";
|
||||
var checks=this.Context.Ado.SqlQuery<string>(sql);
|
||||
foreach (var checkName in checks)
|
||||
{
|
||||
if (checkName?.ToUpper()?.StartsWith("DF__")==true)
|
||||
{
|
||||
this.Context.Ado.ExecuteCommand($"ALTER TABLE {SqlBuilder.GetTranslationColumnName(tableName)} DROP CONSTRAINT {checkName}");
|
||||
}
|
||||
}
|
||||
}
|
||||
return base.DropColumn(tableName, columnName);
|
||||
}
|
||||
public override List<string> GetDbTypes()
|
||||
{
|
||||
return this.Context.Ado.SqlQuery<string>(@"SELECT name
|
||||
|
Reference in New Issue
Block a user