gorm v1.26.0 版本更新介绍
发布日期: 2025-04-25
版本号: v1.26.0
GORM框架近期经历了大量更新,主要贡献包括:性能优化(如PrepareStmt使用LRU Map、使用golangci替代reviewdog、嵌套预加载查询合并等)、多项错误修复(如并发写入映射、空返回子句合并边缘情况、关联替换时的panic、嵌套连接预加载问题等)、功能增强(如db.Scan支持ParamsFilter、IndexOption优先级字段大写、迁移时索引排序确定性、支持嵌入式预加载等)、测试改进(如新增MSSQL CI、PostgreSQL 14/15支持、各类错误覆盖测试等)以及文档和代码质量提升(如更新版权年份、添加行为准则、重构错误翻译逻辑、优化正则表达式等)。此次更新涵盖了稳定性、功能性和开发体验的多方面改进。
更新内容 (中文)
变更
- Preparestmt 使用 LRU Map 替代默认 map @Yaccc (#7435)
- 使用 golangci 替代 reviewdog @jinzhu (#7426)
- 测试:mssql CI @a631807682 (#7388)
- 修复已弃用的 reflect.PtrTo,改用 reflect.PointerTo @Aman-Shitta (#7366)
- 修复并发 map 写入问题 #7297 @Ponywka (#7298)
- 杂项:更新版权年份 @maxktz (#7332)
- 使用 ParamsFilter 增强 db.Scan - 问题 7336 - 建议 @evyaffe (#7337)
- 修复空 Returning 子句合并的边界情况 @aviyam181199 (#7339)
- 功能:将 IndexOption 的 priority 字段首字母大写(https://github.com/go-gorm/gorm/issues/7331) @nowindexman (#7342)
- 修复:迁移时确保索引顺序确定性 @bamo (#7208)
- 使用 map 查找索引 @abbyssoul (#7242)
- [#6372] 修复自动迁移时列可空约束的 bug @wookie0 (#7269)
- 创建 CODE\_OF\_CONDUCT.md @omidfth (#7240)
- 增强发布流程:实现自动化发布管理和说明生成 @YidiDev (#7224)
- 重构:改进启用 TranlateError 配置时未实现 ErrorTranslator 的日志记录 @Invidam (#7225)
- 添加 GitHub Actions 工作流以在标签推送时自动创建发布 @YidiDev (#7209)
- 使用官方 SQL Server docker 镜像进行测试 @omkar-foss (#7205)
- 功能:现代化 Docker Compose 文件 @isso-719 (#7086)
- 为嵌套事务生成唯一保存点名称 @phroggyy (#7174)
- 修复:AfterQuery 在清除 FROM 子句的 j… 时使用更安全的右侧裁剪 @bhowmik-abhijeet (#7153)
- 修复 PrepareStatementDB 中的内存泄漏 @ivila (#7142)
- CI:在 GitHub Actions 矩阵中添加 PostgreSQL 14 和 15 @enomotodev (#7081)
- 功能:添加 MapColumns 方法 @molon (#6901)
- 为 Unscoped 标志添加数据库级别的传播 @sprataa (#7007)
- 修复(scan):更新 Scan 函数以在每次扫描时将结构体重置为零值 @Waldeedle (#7061)
- 修复:预加载嵌套关联时使用 reflect.Append 而非创建固定大小的切片 @emilienkofman (#7014)
- 修复关联替换不可寻址的 panic @SergeiSadov (#7012)
- 修复:嵌套 joins 与预加载时出现
unsupported data错误 @N-Schaef (#6957) - 修复:AfterQuery 应清除 FROM 子句的 Joins 而非 Stat… @liov (#7027)
- 功能:链式 order 支持 clause.OrderBy @supergem3000 (#7054)
- 修复:strings.Title 已弃用,改用 cases.Title @ryuji-cre8ive (#6999)
- 修复:拼写错误 @hakusai22 (#7003)
- 修复未知列类型的处理 @looi (#6540)
- 修复 migrator 中因缺少 stmt.Schema 空值检查而导致的 panic bug @pixelmaxQm (#6932)
- 为 "Violation Check Constraint" 添加新错误 @anilsenay (#6992)
- 修复:带有 or 条件的 not 子句 @a631807682 (#6984)
- 性能:使用 join 时合并嵌套预加载查询 @a631807682 (#6990)
- 更快的 utils.FileWithLineNum @kkocdko (#6981)
- 添加描述 Unscoped() 方法的注释 @AntonyChR (#969)
- 修复:重复的预加载 @yetone (#6948)
- 功能:prepare\_stmt 支持 ping @philhuan (#6924)
- 修复:调用 Remove() 时从
callbacks中移除callback@snackmgmg (#6916) - 修复:’type XXXX int’ 会在终端打印错误的 SQL @wangzeping722 (#6917)
- 杂项:优化
regEnLetterAndMidline正则表达式 @demoManito (#6908) - 修复(create):修复插入列顺序 @archever (#6855)
- 杂项:优化纳秒到毫秒的转换 @demoManito (#6907)
- 修复(scan):数组元素被设置为零值 @demoManito (#6890)
- 修复:使用 join 的嵌套预加载在查找时 panic @black-06 (#6877)
- 修复(scan.go):reflect.MakeSlice 可能传入错误类型 reflect.Array @demoManito (#6880)
- 测试:namer 标识符长度 @a631807682 (#6872)
- 修复测试中的一些拼写错误 @hishope (#6879)
- 修复 v1.25.6 引入的 db.Not 回归问题。@tsuba3 (#6844)
- 添加单元测试辅助函数 ConvertSliceOfMapToValuesForCreate @naruchet (#6854)
- 杂项 添加单元测试函数 ConvertMapToValueForCreate @naruchet (#6846)
- 修复:使用多个外键时 nullable 值导致的 panic @shtrih (#6839)
- 重构:区分 Unique 和 UniqueIndex 的第二部分 @black-06 (#6822)
- 让 limit 和 offset 使用绑定参数 @jasonchuan (#6806)
- 重构:区分 Unique 和 UniqueIndex @black-06 (#6386)
- 修复:预加载不应覆盖 join 的值 @black-06 (#6771)
- 杂项(deps):将 actions/cache 从 3 升级到 4 @dependabot[bot] (#6802)
- 修复:在使用 gen 时忽略 logger 中的 .gen.go 后缀以获取真实的调用者 @0xJacky (#6785)
- 修复:ExplainSQL 中使用连续的转义符对表示转义符 @iTanken (#6766)
- 修复:join 和 select mytable.* 不工作 @StephanoGeorge (#761)
- 功能:将自定义类型和 id 列名引入多态 @alexisvisco (#6716)
- 使锁定参数更直观 @dogenkigen (#6719)
- 重构:解决 for 循环中的隐式内存别名问题 @BugKillerPro (#6730)
- map insert 支持返回自增 id @FangSqing (#6662)
- 文档:修复断开的链接 @kijimaD (#6673)
- 杂项(logger):优化 @flc1125 (#6675)
- 功能:添加 MigrateColumnUnique @black-06 (#6640)
- 测试:修复 TestEmbeddedRelations @a631807682 (#6639)
- sqlite 测试:在 OpenTestConnection 中启用 FOREIGN\_KEYS @glebarez (#6641)
- 添加对 sqlserver 中 returning 的支持 @FrancoLiberali (#6585)
- 杂项(deps):将 actions/checkout 从 3 升级到 4 @dependabot[bot] (#6586)
- 不使用可变参数调用 MethodByName @jquirke (#6602)
- 功能:重用名称 @philhuan (#6626)
- 修复:sqlite dialector 无法应用
PRIMARY KEY AUTOINCREMENT类型 @samuelncui (#6624) - 修复 dialector 初始化失败时的错误消息 @RatajVaver (#6509)
- 修复 schema GetIdentityFieldValuesMap 接口或指针 @uptutu (#6417)
- 为 ExplainSQL 中的保留 float 精度添加 float32 测试用例 @Heliner (#6530)
- 功能:移除 GetDBConnWithContext 方法 @qqxhb (#6535)
- 修复(clause):clause 空数组相等 @whcao (#6503)
- 重构:正则表达式描述 @fayvori (#6507)
- 修复:纠正
SkipHooks在 Session 方法中使用NewDB时不起作用的问题 @aayushacharya (#6484) - 在 ExplainSQL 中保留 float 精度 @kumakichi (#6495)
- 测试:添加 tabletype 的覆盖率 @saeidee (#6496)
- 测试:外键违规错误的覆盖率 @saeidee (#6403)
- CI:修复 mariadb mysqladmin @saeidee (#6401)
- 测试:重复键错误的覆盖率 @saeidee (#6389)
- 修复错误的文档注释(has many -> has one) @johannes-riecken (#6382)
- 修复:database/sql.Scanner 不应保留引用 @ncruces (#6380)
- 功能:添加使用数据库上下文的 *sql.DB 连接器 @lzakharov (#6366)
- 重构:添加 sqldb 返回时的空值检测 @KantaHasegawa (#6373)
- 重构:移除不必要的 prepared statement 分配 @lzakharov (#6374)
- 修复:避免打开失败时 panic @black-06 (#6368)
- 修复:开始事务失败,回滚 panic @zhouit (#6365)
- 最大标识符长度更改为 63 @alidevhere (#6337)
- 修复:带钩子的保存 (#6285) @black-06 (#6294)
- 修复(嵌套事务):SavePoint SQL 语句在 Prepared Statements 中不受支持 @wangliuyang520 (#6220)
- 重构:错误转换器测试 @saeidee (#6350)
- 添加对 "Violates Foreign Key Constraint" 的支持 @amirejaz75 (#6329)
- 功能:重命名 License 为 LICENSE (#6331) @Avinaba-Bhattacharjee (#6336)
- 修复:clickhouse 错误未捕获(#6277) @201430098137 (#6321)
- 修复:🐛 带有自定义数据类型的嵌套结构体测试失败 @aclich (#6311)
- 功能:migrator 支持表注释 @johnmai-dev (#6225)
- 功能:无范围关联 (#5899) @black-06 (#6246)
- 修复:🐛 嵌套指针类型结构体中的某些数值类型导致测试失败 @hykuan (#6293)
- 修复:使用切片 Stale 排序 @Hanwn (#6263)
- 修复:嵌套 joins 别名 @a631807682 (#6265)
- 修复 DB.Table() 注释示例中的拼写错误 @yikakia (#6266)
- 修复:避免 dialector 初始化失败时的协程泄漏。@onlyice (#6249)
- 修复:单元测试 @black-06 (#6250)
- 功能:支持嵌套预加载 @black-06 (#6137)
- 修复 scopes 中的条件 @black-06 (#6152)
- 修复:带有重复 belongs to 元素的 many2many 关联 @bsmith-auth0 (#6206)
- 重构(migrator):非标准代码 @demoManito (#6180)
- 杂项(deps):将 actions/stale 从 7 升级到 8 @dependabot[bot] (#6190)
- 修复:
limit(0).offset(b)返回所有数据,其中 b \<= 0 @Hanwn (#6191) - 修复:如果不存在,嵌套应为 nil @a631807682 (#6219)
- 重构:为向后兼容性添加 translatorError 标志 @saeidee (#6178)
- 避免在 CreateInBatches 中仅执行一次 insert 操作时启动事务 @chenyahui (#6174)
- 修复:带 group 的 count (#6157) @black-06 (#6160)
- save 应为幂等 @black-06 (#6149)
- 杂项(deps):将 actions/setup-go 从 3 升级到 4 @dependabot[bot] (#6165)
- 功能:支持嵌套 join @a631807682 (#6067)
- 测试:pgsql 将列从小整数或字符串更改为布尔值 @jeffry-luqman (#6107)
- 修复:差异 schema 更新赋值 @a631807682 (#6096)
- 重构:仅在非空时翻译错误 @saeidee (#6133)
- 修复:带有自增值的复合主键在插入后返回 0 @truongns (#6127)
- 修复:on conflict 带默认空值 @a631807682 (#6129)
- 功能:不同驱动程序的唯一约束违反错误转换器 @saeidee (#6004)
- 重构:移除冗余代码 @xiaoliwang (#6087)
- 创建和删除视图 @black-06 (#6097)
- docker-compose.yml 端口引号 @xiaoliwang (#6089)
- 测试:pgsql 迁移唯一索引 @a631807682 (#6028)
- 修复:如果模型不是指针,更新会 panic @black-06 (#6037)
- 修复:关联并发追加 @black-06 (#6044)
- 修复:缺少 join 类型 @a631807682 (#6056)
- 问题 6054:Unscoped 在 Joins 上与 PreLoad 一起使用无效 @manstis (#6058)
- 功能:添加 tidb 集成测试用例 @Icemap (#6014)
- 修复:抛出模型值必需错误 @a631807682 (#6031)
- 修复:忽略空查询 @chyroc (#6021)
- 修复:支持 DeletedAt 的 zeroValue 标签 @qiankunli (#6011)
- 修复(schema):仅当存在一个唯一索引时字段才唯一 @Nomango (#5974)
- 修复(migrator):标签 default:’null’ 总是导致字段迁移 #5953 @Nomango (#5954)
- 修复(migrator):迁移时忽略关系 #5913 @Nomango (#5946)
- 杂项(deps):将 actions/stale 从 6 升级到 7 @dependabot[bot] (#5945)
- 测试(MigrateColumn):模拟 alter column 以改进字段比较 @a631807682 (#5499)
- 功能:支持 inner join @a631807682 (#5583)
- 迁移器的 DryRun @defool (#5689)
- 修复:迁移带有 CURRENT\_TIMESTAMP 的字段时出问题 @0fv (#5906)
- 更新 chainable\api 和 FirstOr\ 中的函数注释 @naterarmstrong (#5935)
- 为嵌套值选择添加测试用例 @emcfarlane (#5901)
- 修复:跳过将关联字段追加到默认数据库值 @a631807682 (#5885)
- 清理代码语法 @wjw1758548031 (#5889)
- 修复(FindInBatches):如果 pk 不存在则抛出错误 @a631807682 (#5868)
- 修复 Windows 下的 bug @kvii (#5844)
- 清理(prepare\_stmt.go):不必要的 map 删除 @demoManito (#5849)
- 文档(README.md):添加贡献者 @demoManito (#5847)
- 修复 logger 路径 bug @kvii (#5836)
- 测试(utils):添加 utils 单元测试 @demoManito (#5834)
- 功能:golangci 添加 goimports 和 whitespace @demoManito (#5835)
- 测试(clause/joins):添加 join 单元测试 @demoManito (#5832)
- 修复(Joins):带有 select 和 omit 的参数 @a631807682 (#5790)
- 测试:使用 prepare stmt 的无效缓存计划 @a631807682 (#5778)
- 功能(PreparedStmtDB):支持重置 @a631807682 (#5782)
- 修复:没有 pks 的关联 @a631807682 (#5779)
- 修复:limit=0 结果 (#5735) @robhafner (#5736)
- 修复:
func (schema *Schema) guessRelation(...)primaryFields 被覆盖 @demoManito (#5721) - 修复 OnConstraint 构建器 @xwjdsh (#5738)
- 修复:准备死锁 @a631807682 (#5568)
- 修复可能的 nil panic @demoManito (#5720)
- 杂项(deps):将 actions/stale 从 5 升级到 6 @dependabot[bot] (#5717)
- 修复:创建后返回类型为 string 的 id @nohattee (#5477)
- 功能:migrator 支持类型别名 @a631807682 (#5627)
- 修复:扫描数组 @a631807682 (#5624)
- 支持扫描分配切片容量 @demoManito (#5634)
- 修复(migrate):相同的嵌入字段名 @a631807682 (#5705)
- 修复:更新 omit @qqxhb (#5699)
- AutoMigrate() 应始终迁移检查,即使没有关系约束。@googollee (#5644)
- 重写 finisher\_api Godocs @bruc3mackenzi3 (#5618)
- 简化正则表达式 @xiaoliwang (#5677)
- 优化:代码逻辑 db.scanIntoStruct() @demoManito (#5633)
- 测试:移除 uuid 自增标签 @a631807682 (#5620)
- 将
ioutil.Discard替换为io.Discard@zaneli (#5603) - 重构:复合字面量中的冗余类型 @zaneli (#5604)
- 添加 Go 1.19 支持 @Aoang (#5608)
- 修复:纠正语法 @seaworn (#5600)
- 更新 Delete Godoc 以描述软删除行为 @bruc3mackenzi3 (#5554)
- 杂项:修复 gorm 标签 @a631807682 (#5577)
- 修复:空序列化器错误 #5524 @philhuan (#5525)
- 修复代码注释中的一些拼写错误 @Minjerous (#5549)
- 修复:嵌套默认值 @a631807682 (#5540)
- 修复批量创建中较差的日志性能 (#5520) @zxdvd (#5521)
- 修复关联中的空 QueryClauses (#5502) @goxiaoy (#5503)
- 调整 ToStringKey 使用解包参数,修复在可变函数中将 []any 作为 any 传递 @alingse (#5500)
- 测试:pg 数组类型 @a631807682 (#5480)
- 功能:使用回调处理事务 @sunfuze (#5455)
- 修复:many2many 关联中的重复元素 @a631807682 (#5473)
- 修复(MigrateColumn):声明不同长度的类型 @a631807682 (#5465)
- 修复:serializer 包含字段 panic @wuweishuo (#5461)
- 功能:添加 GetIndexes 方法 @qqxhb (#5436)
- 修复:重置切片中的空值 @a631807682 (#5417)
- 增强:向
Scan()传递值切片时避免调用 reflect.New() @Bexanderthebex (#5388) - 杂项(deps):在 /tests 中将 gorm.io/driver/mysql 从 1.3.3 升级到 1.3.4 @dependabot[bot] (#5385)
- 修复:迁移列默认值 @a631807682 (#5359)
- 修复 FirstOrCreate 在表不存在时未处理错误 @ophum (#5367)
- 修复:重复列扫描 @a631807682 (#5369)
- 测试:自动迁移时跳过准备的测试 @a631807682 (#5350)
- 修复 #5355 - 命名变量在 Windows CRLF 行结尾后不起作用 @clarkmcc (#5356)
- 修复:hooks 中的事务克隆 stmt @a631807682 (#5338)
- 修复:创建表时引号索引 @black-06 (#5331)
- 修复:many2many 自动迁移 @a631807682 (#5322)
- 修复:预加载带跳过钩子 @a631807682 (#5310)
- 修复:使用多个插件时回调排序 @a631807682 (#5304)
- 修复:添加 auto\_migrate 的判断结果 @Heliner (#5306)
- 修复:带特殊表名的 AutoMigrate @a631807682 (#5301)
- 索引:添加复合 id @photon3108 (#5269)
- 测试:测试 postgres serial 列 @a631807682 (#5234)
- 检查指向指针的值 @aelmel (#5278)
- 修复:stmt.Changed 零值字段行为 @a631807682 (#5281)
- 修复 AutoMigrate 中缺少的错误检查 @glebarez (#5283)
- 修复:带 offset limit 的 FindInBatches @a631807682 (#5255)
- 修复拼写错误 @ZhangShenao (#5256)
- 杂项(deps):将 actions/setup-go 从 2 升级到 3 @dependabot[bot] (#5243)
- 杂项(deps):将 actions/stale 从 4 升级到 5 @dependabot[bot] (#5244)
- 修复:FirstOrCreate RowsAffected @a631807682 (#5250)
- 修复 scanIntoStruct @delmorof (#5241)
- 设置 GitHub actions 权限 @naveensrinivasan (#5237)
- 修复将结果扫描回结构体时的偏移问题 @Joker666 (#5227)
- 统一 db 接收器名称 @ZhangShenao (#5215)
- 修复:关联中缺少上下文 @goxiaoy (#5214)
- 修复变量遮蔽 @ZhangShenao (#5212)
- 杂项(deps):将 actions/cache 从 2 升级到 3 @dependabot[bot] (#5196)
- 修复:如果关联模型缺少主键则抛出错误 @a631807682 (#5187)
- 样式:修复编码拼写错误 @ag9920 (#5184)
- 样式:修复 NamingStrategy 和 onConflictOption 的 linter 检查问题 @ag9920 (#5174)
- 测试:修复测试用例和 utils @a631807682 (#5172)
- 对单字节操作使用 WriteByte @moredure (#5167)
- 修复当索引名为 "type" 时,parseFieldIndexes 会将索引 TYPE 设置为 "TYPE" @labulakalia (#5155)
- 杂项(deps):将 actions/checkout 从 2 升级到 3 @dependabot[bot] (#5133)
- ToSQL 应默认启用 SkipDefaultTransaction @CaoManhDat (#5125)
- 修复:单列中的查询扫描器 @a631807682 (#5111)
- 功能:支持 gob 序列化 @ag9920 (#5108)
- 修复长模式限定表的无效外键约束名 @mnussbaum (#5045)
- 修复 TxCommitter 接口注释中的拼写错误并改进 CheckTruth,先检查值是否为空 @0x2d3c (#5094)
- 样式:使用 ReplaceAll 替代 Replace @hu-quan-er (#5095)
- 在事务创建时继承克隆标志 (NewDB) @Gilwe (#5012)
- 修复 "or" 的使用为 " OR ",以考虑包含… @sammyrnycreal (#5074)
- 添加 Serializer,更新 migrator ColumnType 接口 @jinzhu (#5089)
- 修复:isPrintable 不正确 @li-jin-gou (#5076)
- 修复:替换空表名导致 panic @li-jin-gou (#5048)
- 为现有方法添加注释 @Saurabh-Thakre (#5043)
- 预加载不允许在 count 之前 @0fv (#5023)
- 修复:使用 join 时 omit 不工作 @li-jin-gou (#5034)
- 杂项(deps):在 /tests 中将 gorm.io/driver/mysql 从 1.2.1 升级到 1.2.3 @dependabot[bot] (#4987)
- time.Time, []byte 类型添加别名支持。(rebase master) @piyongcai (#4992)
- 修复:自动迁移列顺序不可预测 @halfcrazy (#4980)
- 改进 tests\_test 中的错误处理 @liweitingwt (#4964)
- 修复:带有命名参数的 Where 子句可能导致生成意外的查询 @emregullu (#4937)
- 修改 unscoped 判断 @liweitingwt (#4929)
- 修复类型别名 AutoMigrate bug(添加测试用例) @piyongcai (#4888)
- 使用 Golangci 配置文件 @mmorel-35 (#4896)
- 功能:调整 go 代码风格并优化 callbacks 包的代码 @daheige (#4861)
- 添加未使用的参数 @jinzhu (#4871)
- 在 /tests 中将 gorm.io/driver/mysql 从 1.1.3 升级到 1.2.0 @dependabot[bot] (#4856)
- 在 /tests 中将 github.com/jinzhu/now 从 1.1.2 升级到 1.1.3 @dependabot[bot] (#4866)
- 将 github.com/jinzhu/now 从 1.1.2 升级到 1.1.3 @dependabot[bot] (#4865)
- 功能(migrator,migrator/migrator.go,tests/migrate\_test.go) : 为 migrator 获取多个数据表。@dino-ma (#4841)
- 修复自引用 belongs to 约束 @mgovilla (#4801)
- 重构 if 逻辑 @daheige (#4683)
- 在 /tests 中将 gorm.io/driver/sqlserver 从 1.1.2 升级到 1.2.0 @dependabot[bot] (#4820)
- 添加 ToSQL 支持以生成 SQL 字符串。@huacnlee (#4787)
- 重构 ParseWithSchemaTable 方法并改进测试。@huacnlee (#4789)
- 修复:使用动态表名时索引导致的自动迁移错误 @xwjdsh (#4773)
- 功能:将 SQL 空值转换为非指针模型字段的零值。@jimlambrt (#4710)
- 功能:调整 PreparedStmtDB 解锁位置和 BuildCondition if 逻辑 @daheige (#4681)
- 功能:调整 SetupJoinTable 函数 if..else 代码 @daheige (#4680)
- 修复字段相同时 belongs\_to 和 has\_one 颠倒的问题(正确修复) @paraswaykole (#4694)
- 在 /tests 中将 gorm.io/driver/postgres 从 1.1.1 升级到 1.1.2 @dependabot[bot] (#4740)
- 更新
tests.yml@s-takehana (#4741) - 修复:QuoteTo 未完全支持原始模式 @tr1v3r (#4735)
- 修复 (clause/expression):允许 sql 语句终止符 @jimlambrt (#4693)
- 在 /tests 中将 gorm.io/driver/postgres 从 1.1.0 升级到 1.1.1 @dependabot[bot] (#4699)
- 在 /tests 中将 gorm.io/driver/sqlite 从 1.1.4 升级到 1.1.5 @dependabot[bot] (#4701)
- 重构更新记录 @jinzhu (#4679)
- 在 /tests 中将 github.com/lib/pq 从 1.10.2 升级到 1.10.3 @dependabot[bot] (#4676)
- 在 /tests 中将 gorm.io/gorm 从 1.21.13 升级到 1.21.14 @dependabot[bot] (#4655)
- 添加 Go 1.17 @jxlwqq (#4666)
- 在 /tests 中将 gorm.io/driver/sqlserver 从 1.0.7 升级到 1.0.8 @dependabot[bot] (#4631)
- 修复 IN.NegationBuild() 中 len(values) == 0 时多余的 ‘AND’ @secake (#4618)
- 在 /tests 中将 gorm.io/driver/mysql 从 1.1.1 升级到 1.1.2 @dependabot[bot] (#4615)
- 在 /tests 中将 gorm.io/gorm 从 1.21.12 升级到 1.21.13 @dependabot[bot] (#4616)
- 功能:count 接受
db.table@tr1v3r (#4626) - 功能:QuoteTo 接受 clause.Expr @tr1v3r (#4621)
- 杂项(logger):显式设置 Default Logger 的配置 @HurSungYun (#4605)
- 修复使用忽略迁移创建时的问题 @zkqiang (#4571)
- 修复:表不可重入 @SmallTianTian (#4556)
- 更新依赖 @mmorel-35 (#4582)
- 不为空值发出 ORDER BY @wfscheper (#4592)
- 修复 *schema.Check 的返回值 @daheige (#4527)
- 优化 migrator.go MigrateColumn 和 ColumnTypes 函数。@daheige (#4532)
- 优化 fieldValue.Interface 的 Parse 函数 @daheige (#4526)
- 更新 ConvertSliceOfMapToValuesForCreate 函数的注释 @daheige (#4529)
- 优化 setupValuerAndSetter 函数 @daheige (#4530)
- 调整 Preload fmt.Errorf @daheige (#4531)
- 修复 MySQL 中带注释创建索引 @s-takehana (#4521)
- 新的逗号表达式 @tr1v3r (#4524)
- 稍微改进的回调警告 @bdemirpolat (#4495)
- 为 many2many 添加外模式标题以避免 panic @wangyuehong (#4496)
- 修复:修复 prepare 方法中的竞态问题 @shiyu7 (#4487)
- 修复 Pluck 的用法 #4473 @wuwenchi (#4479)
- 为 logger.Interface.Trace 添加返回名称 @applejag (#4450)
- 使用 count(*) 代替 count(1) 包括 NULL 和非 NULL 行(SQL-92)。@tony95271 (#4453)
- 代码优化 @daheige (#4415)
- 修复:使用 ‘Assign’ 时 FirstOrCreate 切片越界错误 @liamrfell (#4436)
- 在 Postgres 中支持 Upsert 的部分索引 @VitalyShein (#4442)
- 更新
tests.yml中的版本 @s-takehana (#4432) - golint 标准 @heyanfu (#4421)
- 修复 associations\_test.go 中的拼写错误 @eltociear (#4407)
- 错误消息中的小语法修复 @Br3nda (#4406)
- 修复如果字段名相同 has\_many 停止工作的问题 @paraswaykole (#4387)
- 修复 ErrInvalidTransaction 错误消息 @atreya2011 (#4380)
- 优化 schema 中的解析函数 @chenquan (#4364)
- 轻微跟踪深度 @xx1906 (#4346)
- 修复字段相同时 belongs\_to 和 has\_one 颠倒的问题 @paraswaykole (#4343)
- 添加缺失的空格 @KarolosLykos (#4330)
- 修复超过 64 个字符的命名 @MikaMauger (#4310)
- 修复一些拼写错误 @faulkner (#4294)
- 优化 reflect 值长度和方法 @daheige (#4280)
- 优化 v 的值类型获取 @daheige (#4278)
- 添加列时尊重忽略迁移 @yrong (#4276)
- 更新 field.go @gavwu (#4228)
- 修复 FindInBatches 在 Find 失败时返回错误 @genkami (#4203)
- 优化 MigrateColumn 方法的正则表达式 @daheige (#4188)
- 支持预加载多层关联中的所有子级 @ruozhixian (#4172)
- 杂项:提高代码质量 @withshubh (#4123)
- 优化解析约束 @daheige (#4153)
- 优化反射长度的值 @daheige (#4152)
- 在 Select API 中支持命名参数 @ratanphayade (#4142)
- 为 Config.cacheStore 存储 PreparedStmtDB 键 @daheige (#4149)
- 无效数据库错误和值及无效值长度错误重构。@daheige (#4151)
- 更改初始化切片的方法 @sivchari (#4097)
更新内容 (原始)
Changes
- Preparestmt use LRU Map instead default map @Yaccc (#7435)
- use golangci replace reviewdog @jinzhu (#7426)
- test: mssql ci @a631807682 (#7388)
- fix deprecated reflect.PtrTo reflect.PointerTo usage @Aman-Shitta (#7366)
- Fix concurrent map writes #7297 @Ponywka (#7298)
- chore: update copyright year @maxktz (#7332)
- Enhance db.Scan with ParamsFilter - Issue 7336 - Suggestion @evyaffe (#7337)
- Fixed Empty Returning Clause Merge Edge Case @aviyam181199 (#7339)
- feat:Capitalize the priority field of IndexOption(https://github.com/go-gorm/gorm/issues/7331) @nowindexman (#7342)
- fix: deterministic index ordering when migrating @bamo (#7208)
- use map look-up for indexes @abbyssoul (#7242)
- [#6372] Fixed nullable constraint bug for columns during auto migration @wookie0 (#7269)
- Create CODE_OF_CONDUCT.md @omidfth (#7240)
- Enhance Release Process: Implement Automated Release Management and Notes Generation @YidiDev (#7224)
- refactor: improve logging for unimplemented ErrorTranslator in TranlateError config enabled @Invidam (#7225)
- Add GitHub Actions workflow to automate release creation on tagged pushes @YidiDev (#7209)
- Use official SQL Server docker image for tests @omkar-foss (#7205)
- feat: Modernize Docker Compose File @isso-719 (#7086)
- Generate unique savepoint names for nested transactions @phroggyy (#7174)
- fix: AfterQuery using safer right trim while clearing from clause’s j… @bhowmik-abhijeet (#7153)
- fix memory leaks in PrepareStatementDB @ivila (#7142)
- ci: Add PostgreSQL 14 and 15 to GitHub Actions matrix @enomotodev (#7081)
- feat: add MapColumns method @molon (#6901)
- add DB level propagation for the Unscoped flag @sprataa (#7007)
- fix(scan): update Scan function to reset structs to zero values for each scan @Waldeedle (#7061)
- fix: use reflect.Append when preloading nested associations instead of making a slice with fixed size @emilienkofman (#7014)
- Fix association replace non-addressable panic @SergeiSadov (#7012)
- fix:
unsupported dataon nested joins with preloads @N-Schaef (#6957) - fix: AfterQuery should clear FROM Clause’s Joins rather than the Stat… @liov (#7027)
- feat: chainable order support clause.OrderBy @supergem3000 (#7054)
- fix: strings.Title -> cases.Title bcs strings.Title library is deprecated @ryuji-cre8ive (#6999)
- fix: typo @hakusai22 (#7003)
- Fix handling of unknown column types @looi (#6540)
- Fix panic bug in migrator due to lack of nil check for stmt.Schema @pixelmaxQm (#6932)
- Add new error for “Violation Check Constraint” @anilsenay (#6992)
- fix: not clause with or condition @a631807682 (#6984)
- perf: merge nested preload query when using join @a631807682 (#6990)
- Faster utils.FileWithLineNum @kkocdko (#6981)
- Added comment describing Unscoped() method @AntonyChR (#6969)
- fix: duplicated preload @yetone (#6948)
- feat: prepare_stmt support ping @philhuan (#6924)
- fix: remove
callbackfromcallbacksifRemove()called @snackmgmg (#6916) - fix: ’type XXXX int’ will print wrong sql to terminal @wangzeping722 (#6917)
- chore: optimize
regEnLetterAndMidlineregular @demoManito (#6908) - fix(create): fix insert column order @archever (#6855)
- chore: optimize conversion of nanoseconds to milliseconds @demoManito (#6907)
- fix(scan): array element is set to a zero value @demoManito (#6890)
- fix: nested preload with join panic when find @black-06 (#6877)
- fix(scan.go): reflect.MakeSlice may pass in the wrong type reflect.Array @demoManito (#6880)
- test: namer identifier lenght @a631807682 (#6872)
- fix some typos in tests @hishope (#6879)
- Fix regression in db.Not introduced in v1.25.6. @tsuba3 (#6844)
- Add unittest test helper function ConvertSliceOfMapToValuesForCreate @naruchet (#6854)
- CHORE add unittest test function ConvertMapToValueForCreate @naruchet (#6846)
- Fix: panic on nullable value with multiple foreign key usage @shtrih (#6839)
- refactor: part 2 of distinguish between Unique and UniqueIndex @black-06 (#6822)
- let limit and offset use bind parameter @jasonchuan (#6806)
- refactor: distinguish between Unique and UniqueIndex @black-06 (#6386)
- fix: preload shouldn’t overwrite the value of join @black-06 (#6771)
- chore(deps): bump actions/cache from 3 to 4 @dependabot[bot] (#6802)
- fix: ignore .gen.go suffix in logger to get the real caller when using gen @0xJacky (#6785)
- fix: ExplainSQL using consecutive pairs of escaper in SQL string represents an escaper @iTanken (#6766)
- fix: join and select mytable.* not working @StephanoGeorge (#6761)
- feature: bring custom type and id column name to polymorphism @alexisvisco (#6716)
- Making locking parameters more intuitive @dogenkigen (#6719)
- refactor: Resolve implicit memory aliasing in for loop @BugKillerPro (#6730)
- map insert support return increment id @FangSqing (#6662)
- docs: fix broken link @kijimaD (#6673)
- chore(logger): optimize @flc1125 (#6675)
- feat: add MigrateColumnUnique @black-06 (#6640)
- test: fix TestEmbeddedRelations @a631807682 (#6639)
- tests for sqilte: enable FOREIGN_KEYS inside OpenTestConnection @glebarez (#6641)
- Add support for returning in sqlserver @FrancoLiberali (#6585)
- chore(deps): bump actions/checkout from 3 to 4 @dependabot[bot] (#6586)
- Don’t call MethodByName with a variable arg @jquirke (#6602)
- feat: reuse name @philhuan (#6626)
- fix: sqlite dialector cannot apply
PRIMARY KEY AUTOINCREMENTtype @samuelncui (#6624) - Fixed error message when dialector fails to initialize @RatajVaver (#6509)
- fix schema GetIdentityFieldValuesMap interface or ptr @uptutu (#6417)
- add float32 test case for keep float precision in ExplainSQL @Heliner (#6530)
- feat: rm GetDBConnWithContext method @qqxhb (#6535)
- fix(clause): clause equal empty array @whcao (#6503)
- refactor: Regex description @fayvori (#6507)
- fix: rectify
SkipHooksnot working withNewDBset in Session method @aayushacharya (#6484) - keep float precision in ExplainSQL @kumakichi (#6495)
- test: coverage for tabletype added @saeidee (#6496)
- test: coverage for foreign key violation err @saeidee (#6403)
- ci: fix mariadb mysqladmin @saeidee (#6401)
- test: coverage for duplicated key err @saeidee (#6389)
- Fix incorrect documentation comment (has many -> has one) @johannes-riecken (#6382)
- fix: database/sql.Scanner should not retain references @ncruces (#6380)
- feat: add *sql.DB connector that uses database context @lzakharov (#6366)
- reafactor: add nil detection when sqldb return @KantaHasegawa (#6373)
- refactor: remove unnecessary prepared statement allocation @lzakharov (#6374)
- fix: avoid panic when open fails @black-06 (#6368)
- fix: begin transaction fail, rollback panic @zhouit (#6365)
- max identifier length changed to 63 @alidevhere (#6337)
- fix: save with hook (#6285) @black-06 (#6294)
- fix(nested transaction): SavePoint SQL Statement not support in Prepared Statements @wangliuyang520 (#6220)
- refactor: error translator test @saeidee (#6350)
- Added support of “Violates Foreign Key Constraint” @amirejaz75 (#6329)
- feature: rename License to LICENSE (#6331) @Avinaba-Bhattacharjee (#6336)
- fix:clickhouse error not capture(#6277) @201430098137 (#6321)
- fix: 🐛 embedded struct test failed with custom datatypes @aclich (#6311)
- feat: migrator support table comment @johnmai-dev (#6225)
- feat: unscoped association (#5899) @black-06 (#6246)
- fix: 🐛 some numeric types in embedded pointer type struct cause test failed @hykuan (#6293)
- fix: use slice Stale sort @Hanwn (#6263)
- fix: nested joins alias @a631807682 (#6265)
- fix typo in comment example of DB.Table() @yikakia (#6266)
- fix: avoid coroutine leaks when the dialecter initialization fails. @onlyice (#6249)
- fix: unit test @black-06 (#6250)
- feat: support embedded preload @black-06 (#6137)
- fix cond in scopes @black-06 (#6152)
- fix: many2many association with duplicate belongs to elem @bsmith-auth0 (#6206)
- refactor(migrator): non-standard codes @demoManito (#6180)
- chore(deps): bump actions/stale from 7 to 8 @dependabot[bot] (#6190)
- fix:
limit(0).offset(b)return all data, where b <= 0 @Hanwn (#6191) - fix: embedded should be nil if not exists @a631807682 (#6219)
- refactor: translatorError flag added for backward compatibility @saeidee (#6178)
- avoid starting a transaction when performing only one insert operation in CreateInBatches @chenyahui (#6174)
- fix: count with group (#6157) @black-06 (#6160)
- save should be idempotent @black-06 (#6149)
- chore(deps): bump actions/setup-go from 3 to 4 @dependabot[bot] (#6165)
- feat: support nested join @a631807682 (#6067)
- test: pgsql alter column from smallint or string to boolean @jeffry-luqman (#6107)
- fix: diff schema update assign value @a631807682 (#6096)
- refactor: translate error only when it is not nil @saeidee (#6133)
- Fix: Composite primary key with auto-increment value returns 0 after insert @truongns (#6127)
- fix: on confilct with default null @a631807682 (#6129)
- feat: Unique Constraint Violation error translator for different drivers @saeidee (#6004)
- Refactor: Remove redundant code @xiaoliwang (#6087)
- Create and drop view @black-06 (#6097)
- quotes on docker-compose.yml ports @xiaoliwang (#6089)
- test: pgsql migrate unique index @a631807682 (#6028)
- fix: update panic if model is not ptr @black-06 (#6037)
- fix: association concurrently appending @black-06 (#6044)
- fix: miss join type @a631807682 (#6056)
- Issue 6054: Unscoped not working with PreLoad on Joins @manstis (#6058)
- feat: add tidb integration test cases @Icemap (#6014)
- fix:throw model value required error @a631807682 (#6031)
- fix: ignore nil query @chyroc (#6021)
- fix: support zeroValue tag on DeletedAt @qiankunli (#6011)
- fix(schema): field is only unique when there is one unique index @Nomango (#5974)
- fix(migrator): Tag default:’null’ always causes field migration #5953 @Nomango (#5954)
- fix(migrator): ignore relationships when migrating #5913 @Nomango (#5946)
- chore(deps): bump actions/stale from 6 to 7 @dependabot[bot] (#5945)
- test(MigrateColumn): mock alter column to improve field compare @a631807682 (#5499)
- feat: support inner join @a631807682 (#5583)
- DryRun for migrator @defool (#5689)
- fix:Issue migrating field with CURRENT_TIMESTAMP @0fv (#5906)
- Update func comments in chainable_api and FirstOr_ @naterarmstrong (#5935)
- Add test case for embedded value selects @emcfarlane (#5901)
- fix: skip append relation field to default db value @a631807682 (#5885)
- clear code syntax @wjw1758548031 (#5889)
- fix(FindInBatches): throw err if pk not exists @a631807682 (#5868)
- fix bug in windows @kvii (#5844)
- cleanup(prepare_stmt.go): unnecessary map delete @demoManito (#5849)
- doc(README.md): add contributors @demoManito (#5847)
- fix logger path bug @kvii (#5836)
- test(utils): add utils unit test @demoManito (#5834)
- feat: golangci add goimports and whitespace @demoManito (#5835)
- test(clause/joins): add join unit test @demoManito (#5832)
- fix(Joins): args with select and omit @a631807682 (#5790)
- test: invalid cache plan with prepare stmt @a631807682 (#5778)
- feat(PreparedStmtDB): support reset @a631807682 (#5782)
- fix: association without pks @a631807682 (#5779)
- fix: limit=0 results (#5735) @robhafner (#5736)
- fix:
func (schema *Schema) guessRelation(...)primaryFields are overwritten @demoManito (#5721) - Fix OnConstraint builder @xwjdsh (#5738)
- fix: prepare deadlock @a631807682 (#5568)
- fix maybe nil panic @demoManito (#5720)
- chore(deps): bump actions/stale from 5 to 6 @dependabot[bot] (#5717)
- fix: return id which have type string after created @nohattee (#5477)
- feat: migrator support type aliases @a631807682 (#5627)
- fix: scan array @a631807682 (#5624)
- support scan assign slice cap @demoManito (#5634)
- fix(migrate): same embedded filed name @a631807682 (#5705)
- fix: update omit @qqxhb (#5699)
- AutoMigrate() should always migrate checks, even there is no relationship constraints. @googollee (#5644)
- Rewrite of finisher_api Godocs @bruc3mackenzi3 (#5618)
- simplified regexp @xiaoliwang (#5677)
- Optimize: code logic db.scanIntoStruct() @demoManito (#5633)
- test: remove uuid autoincrement tag @a631807682 (#5620)
- Replace
ioutil.Discardwithio.Discard@zaneli (#5603) - Refactor: redundant type from composite literal @zaneli (#5604)
- Add Go 1.19 Support @Aoang (#5608)
- fix: correct grammar @seaworn (#5600)
- Update Delete Godoc to describe soft delete behaviour @bruc3mackenzi3 (#5554)
- chore: fix gorm tag @a631807682 (#5577)
- fix: empty serilizer err #5524 @philhuan (#5525)
- Fixed some typos in the code comment @Minjerous (#5549)
- fix: embedded default value @a631807682 (#5540)
- fix bad logging performance of bulk create (#5520) @zxdvd (#5521)
- fix empty QueryClauses in association (#5502) @goxiaoy (#5503)
- Adjust ToStringKey use unpack params, fix pass []any as any in variadic function @alingse (#5500)
- test: pg array type @a631807682 (#5480)
- feat: use callback to handle transaction @sunfuze (#5455)
- fix: association many2many duplicate elem @a631807682 (#5473)
- fix(MigrateColumn):declared different type without length @a631807682 (#5465)
- fix:serializer contain field panic @wuweishuo (#5461)
- feat: add method GetIndexes @qqxhb (#5436)
- fix: reset null value in slice @a631807682 (#5417)
- enhancement: Avoid calling reflect.New() when passing in slice of values to
Scan()@Bexanderthebex (#5388) - chore(deps): bump gorm.io/driver/mysql from 1.3.3 to 1.3.4 in /tests @dependabot[bot] (#5385)
- fix: migrate column default value @a631807682 (#5359)
- fixed FirstOrCreate not handled error when table is not exists @ophum (#5367)
- fix: duplicate column scan @a631807682 (#5369)
- test: test for skip prepared when auto migrate @a631807682 (#5350)
- Fixed #5355 - Named variables don’t work when followed by Windows CRLF line endings @clarkmcc (#5356)
- fix: trx in hooks clone stmt @a631807682 (#5338)
- fix: quote index when creating table @black-06 (#5331)
- fix: many2many auto migrate @a631807682 (#5322)
- fix: preload with skip hooks @a631807682 (#5310)
- fix: callbcak sort when using multiple plugin @a631807682 (#5304)
- fix: add judge result of auto_migrate @Heliner (#5306)
- fix: AutoMigrate with special table name @a631807682 (#5301)
- index: add composite id @photon3108 (#5269)
- test: test for postgrs serial column @a631807682 (#5234)
- check for pointer to pointer value @aelmel (#5278)
- fix: stmt.Changed zero value filed behavior @a631807682 (#5281)
- fix missing error-check in AutoMigrate @glebarez (#5283)
- fix: FindInBatches with offset limit @a631807682 (#5255)
- fix spelling mistake @ZhangShenao (#5256)
- chore(deps): bump actions/setup-go from 2 to 3 @dependabot[bot] (#5243)
- chore(deps): bump actions/stale from 4 to 5 @dependabot[bot] (#5244)
- fix: FirstOrCreate RowsAffected @a631807682 (#5250)
- Fix scanIntoStruct @delmorof (#5241)
- Set permissions for GitHub actions @naveensrinivasan (#5237)
- Offset issue resolved for scanning results back into struct @Joker666 (#5227)
- unify db receiver name @ZhangShenao (#5215)
- fix: context missing in association @goxiaoy (#5214)
- fix variable shadowing @ZhangShenao (#5212)
- chore(deps): bump actions/cache from 2 to 3 @dependabot[bot] (#5196)
- fix: throw err if association model miss primary key @a631807682 (#5187)
- style: fix coding typo @ag9920 (#5184)
- style: fix linter check problem for NamingStrategy and onConflictOption @ag9920 (#5174)
- test: fix test case and utils @a631807682 (#5172)
- Use WriteByte for single byte operations @moredure (#5167)
- fix when index name is “type”, parseFieldIndexes will set index TYPE is “TYPE” @labulakalia (#5155)
- chore(deps): bump actions/checkout from 2 to 3 @dependabot[bot] (#5133)
- ToSQL should enable SkipDefaultTransaction by default @CaoManhDat (#5125)
- fix: query scanner in single column @a631807682 (#5111)
- feat: support gob serialize @ag9920 (#5108)
- Fix invalid foreign key constraint name with long schema qualified tables @mnussbaum (#5045)
- fix typo in TxCommitter interface comment & improve CheckTruth, chek val empty first @0x2d3c (#5094)
- style: use ReplaceAll instead of Replace @hu-quan-er (#5095)
- Inherit clone flag (NewDB) on transaction creation @Gilwe (#5012)
- Fixed the use of “or” to be " OR “, to account for words that contain… @sammyrnycreal (#5074)
- Add Serializer, Update migrator ColumnType interface @jinzhu (#5089)
- fix: isPrintable incorrect @li-jin-gou (#5076)
- fix: replace empty table name result in panic @li-jin-gou (#5048)
- Added comments to existing methods @Saurabh-Thakre (#5043)
- preoload not allowd before count @0fv (#5023)
- fix: omit not work when use join @li-jin-gou (#5034)
- chore(deps): bump gorm.io/driver/mysql from 1.2.1 to 1.2.3 in /tests @dependabot[bot] (#4987)
- time.Time, []byte type add alias support. (rebase master) @piyongcai (#4992)
- fix: auto migration column order unpredictable @halfcrazy (#4980)
- improve the error handle in tests_test @liweitingwt (#4964)
- Fix: Where clauses with named arguments may cause generation of unintended queries @emregullu (#4937)
- modify unscoped judge @liweitingwt (#4929)
- fix type alias AutoMigrate bug(Add Test Case) @piyongcai (#4888)
- Use Golangci configuration file @mmorel-35 (#4896)
- feat: go code style adjust and optimize code for callbacks package @daheige (#4861)
- Add unused argument @jinzhu (#4871)
- Bump gorm.io/driver/mysql from 1.1.3 to 1.2.0 in /tests @dependabot[bot] (#4856)
- Bump github.com/jinzhu/now from 1.1.2 to 1.1.3 in /tests @dependabot[bot] (#4866)
- Bump github.com/jinzhu/now from 1.1.2 to 1.1.3 @dependabot[bot] (#4865)
- feat(migrator,migrator/migrator.go,tests/migrate_test.go) : Get multiple data tables for migrator. @dino-ma (#4841)
- Fix self-referential belongs to constraint @mgovilla (#4801)
- Refactor if logic @daheige (#4683)
- Bump gorm.io/driver/sqlserver from 1.1.2 to 1.2.0 in /tests @dependabot[bot] (#4820)
- Add ToSQL support to generate SQL string. @huacnlee (#4787)
- Refactor ParseWithSchemaTable method and improve test. @huacnlee (#4789)
- fix: automigrate error caused by indexes while using dynamic table name @xwjdsh (#4773)
- feat: Convert SQL null values to zero values for model fields which are not pointers. @jimlambrt (#4710)
- feat: adjust PreparedStmtDB unlock location and BuildCondition if logic @daheige (#4681)
- feat: adjust SetupJoinTable func if..else code @daheige (#4680)
- fixed belongs_to & has_one reversed if field same (proper fix) @paraswaykole (#4694)
- Bump gorm.io/driver/postgres from 1.1.1 to 1.1.2 in /tests @dependabot[bot] (#4740)
- Update
tests.yml@s-takehana (#4741) - fix: QuoteTo not fully support raw mode @tr1v3r (#4735)
- fix (clause/expression): Allow sql stmt terminator @jimlambrt (#4693)
- Bump gorm.io/driver/postgres from 1.1.0 to 1.1.1 in /tests @dependabot[bot] (#4699)
- Bump gorm.io/driver/sqlite from 1.1.4 to 1.1.5 in /tests @dependabot[bot] (#4701)
- Refactor update record @jinzhu (#4679)
- Bump github.com/lib/pq from 1.10.2 to 1.10.3 in /tests @dependabot[bot] (#4676)
- Bump gorm.io/gorm from 1.21.13 to 1.21.14 in /tests @dependabot[bot] (#4655)
- Add Go 1.17 @jxlwqq (#4666)
- Bump gorm.io/driver/sqlserver from 1.0.7 to 1.0.8 in /tests @dependabot[bot] (#4631)
- Fix extra ‘AND’ when len(values) == 0 ON IN.NegationBuild() @secake (#4618)
- Bump gorm.io/driver/mysql from 1.1.1 to 1.1.2 in /tests @dependabot[bot] (#4615)
- Bump gorm.io/gorm from 1.21.12 to 1.21.13 in /tests @dependabot[bot] (#4616)
- feat: count accpet
db.table@tr1v3r (#4626) - feat: QuoteTo accept clause.Expr @tr1v3r (#4621)
- chore(logger): explicitly set config of Default Logger @HurSungYun (#4605)
- Fix create with ignore migration @zkqiang (#4571)
- fix: table couln’t be reentrant @SmallTianTian (#4556)
- Update Dependencies @mmorel-35 (#4582)
- Do not emit ORDER BY for empty values @wfscheper (#4592)
- fix return value for *schema.Check @daheige (#4527)
- optimize migrator.go MigrateColumn and ColumnTypes func. @daheige (#4532)
- optimize Parse func for fieldValue.Interface @daheige (#4526)
- update comment for ConvertSliceOfMapToValuesForCreate func @daheige (#4529)
- optimize setupValuerAndSetter func @daheige (#4530)
- adjust Preload fmt.Errorf @daheige (#4531)
- Fix create index with comments in MySQL @s-takehana (#4521)
- New Comma Expression @tr1v3r (#4524)
- slightly better callback warning @bdemirpolat (#4495)
- title foreign schema for many2many to avoid panic @wangyuehong (#4496)
- fix: fix race issue in prepare method @shiyu7 (#4487)
- Fix Pluck’s usage #4473 @wuwenchi (#4479)
- Added return names to logger.Interface.Trace @applejag (#4450)
- Use count(*) instead of count(1) include NULL and non-NULL rows(SQL-92). @tony95271 (#4453)
- Code optimize @daheige (#4415)
- Fix: FirstOrCreate slice out of bounds error when using ‘Assign’ @liamrfell (#4436)
- Support partial indexes for Upsert in Postgres @VitalyShein (#4442)
- Update version in
tests.yml@s-takehana (#4432) - golint standard @heyanfu (#4421)
- Fix typo in associations_test.go @eltociear (#4407)
- Small grammar fix in error message @Br3nda (#4406)
- fixed has_many stopped working if field names are identical @paraswaykole (#4387)
- Fix ErrInvalidTransaction error message @atreya2011 (#4380)
- Optimizing the parse function in schema @chenquan (#4364)
- slim trace if depth @xx1906 (#4346)
- fixed belongs_to & has_one reversed if field same @paraswaykole (#4343)
- Added missing white space @KarolosLykos (#4330)
- Fixed naming longer than 64 characters @MikaMauger (#4310)
- Fix some typos @faulkner (#4294)
- Optimize reflect value length and method @daheige (#4280)
- Optimal value type acquisition for v @daheige (#4278)
- Respect ignore migration when add column @yrong (#4276)
- Update field.go @gavwu (#4228)
- Fix FindInBatches to return errors when Find fails @genkami (#4203)
- optimize MigrateColumn method for regexp @daheige (#4188)
- support to preload all children in multiple levels associations @ruozhixian (#4172)
- chore: improve code quality @withshubh (#4123)
- Optimize parse constraint @daheige (#4153)
- optimize value of reflection length @daheige (#4152)
- support named params in Select API @ratanphayade (#4142)
- for Config.cacheStore store PreparedStmtDB key @daheige (#4149)
- invalid db error and value and invalid value length error refactor. @daheige (#4151)
- change the method of initializing slice @sivchari (#4097)