go-gorm / gen

Gen: Friendly & Safer GORM powered by Code Generation
https://gorm.io/gen/
MIT License
2.27k stars 296 forks source link

mysql表结构通过gentool工具生成表model,默认值是空字符串的话会丢失? #1188

Open pihc opened 2 months ago

pihc commented 2 months ago

image image 上面这两张图看起来回比较直观些,verify_type 的默认值为空字符串时在生成model的时候丢失了。 正式环境发布的时候,我会执行 AutoMigrate,将model反向生成数据库脚本,导致原本有默认值(EMPTY STRING)的字段全部丢失。

zhang-jianqiang commented 2 months ago

我猜测gentool生成代码的逻辑可能是默认值和类型的零值一致时就会省略default,这样用migrate确实会有问题

mimicode commented 2 months ago

空,null 都会丢弃,这个逻辑不合理,导致原始表的定义缺失