尝试用xorm根据结构体建sqlite表,字段类型与长度与结构定义不符合

pika623 · · 1494 次点击
可是如果使用gorm的话是可以的 结构体示例: ```go type CsTable struct { Id int64 `gorm:"primarykey"` Name string `gorm:"type:varchar(40);not null;unique"` Type string `gorm:"type:varchar(40)"` Remark string `gorm:"type:varchar(1024)"` } ``` 根据此结构体建表代码 ```go engine.AutoMigrate(&model.CsTable{}) ``` 运行后用Navicat查看新建的表 ![image.png](https://static.golangjob.cn/221122/bfe79cbe846c6c998ae06fa9327cac49.png) **em这就没有被text代替**
#2
更多评论
jan-bar
想要拥有,必定付出。
看看sqlite支持的类型吧,https://www.runoob.com/sqlite/sqlite-data-types.html 没有varchar吧,都是text代替。
#1
jan-bar
想要拥有,必定付出。
2楼 <a href="/user/pika623" title="@pika623">@pika623</a> 这是官方文档:https://sqlite.org/datatype3.html 确实只有那几种类型,我也试了`varchar(40)`也是可以的,你开启gorm的日志功能,看看gorm产生的建表语句是啥样吧。 反正实际项目中我不喜欢自动建表,感觉不可控,这不就引起了你的问题嘛:smiley:
#3