From 6578a41474d05a075b5b7e9c5dc498ce7942a5e2 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 23 Jun 2025 11:50:14 +0800 Subject: [PATCH] Update sqlite --- .../DbMaintenance/SqliteDbMaintenance.cs | 15 +++++++++ .../SqliteTest/UserTestCases/Unitasdfays.cs | 32 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index 65471bb09..8cab2faef 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -255,6 +255,21 @@ namespace SqlSugar #endregion #region Methods + protected override string GetAddColumnSql(string tableName, DbColumnInfo columnInfo) + { + var sql= base.GetAddColumnSql(tableName, columnInfo); + if (columnInfo.DefaultValue.HasValue()&&this.Context?.CurrentConnectionConfig?.MoreSettings?.SqliteCodeFirstEnableDefaultValue == true) + { + var value = columnInfo.DefaultValue; + if (!value.Contains("(") && !value.EqualCase("CURRENT_TIMESTAMP") && !value.StartsWith("'")) + { + value = value.ToSqlValue(); + } + value = $" DEFAULT {value}"; + sql += value; + } + return sql; + } public override bool UpdateColumn(string tableName, DbColumnInfo column) { var isTran = this.Context.Ado.IsNoTran(); diff --git a/Src/Asp.NetCore2/SqliteTest/UserTestCases/Unitasdfays.cs b/Src/Asp.NetCore2/SqliteTest/UserTestCases/Unitasdfays.cs index dcf03b3ef..be461d797 100644 --- a/Src/Asp.NetCore2/SqliteTest/UserTestCases/Unitasdfays.cs +++ b/Src/Asp.NetCore2/SqliteTest/UserTestCases/Unitasdfays.cs @@ -13,6 +13,20 @@ namespace OrmTest public static void Init() { var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.CurrentConnectionConfig.MoreSettings = new ConnMoreSettings() + { + SqliteCodeFirstEnableDefaultValue=true + }; + db.CodeFirst.InitTables(); + db.DbMaintenance.DropTable(); + db.CodeFirst.InitTables(); + db.Insertable(new Unitdfadfsdy() { Id = 1 }).ExecuteCommand(); + db.CodeFirst.InitTables(); + var list=db.Queryable().ToList(); + db.CodeFirst.InitTables(); + if (list.First().a != "1") throw new Exception("unit error"); + db = NewUnitTest.Db; db.CodeFirst.InitTables(typeof(SqlSugarTestEntity)); db.DbMaintenance.TruncateTable(); SqlSugarTestEntity entity = new SqlSugarTestEntity { Id=1,BarCode = "1111", PatientName = "小明" }; @@ -38,6 +52,24 @@ namespace OrmTest }).ToList();//没溢出,但结果,Aa 都是初值即是空?? } } + public class Unitdfadfsdy + { + public int Id { get; set; } + } + public class UNITDFADFSDY + { + public int Id { get; set; } + [SugarColumn(DefaultValue ="1")] + public string a { get; set; } + } + public class UNITDFADFSdY + { + public int Id { get; set; } + [SugarColumn(DefaultValue = "1")] + public string a { get; set; } + [SugarColumn(DefaultValue = "10")] + public int num { get; set; } + } [SqlSugar.SugarTable("SQLSUGARTEST")] [SqlSugar.SplitTable(SplitType._Custom01, typeof(SplitTableService))] public class SqlSugarTestEntity