gormt
gormt copied to clipboard
database to golang struct
业务上面经常出现一个情况就是,分库,可不可以在获取Mgr的时候,能够传输一个参数,选定不同的库 之前我用db.Table进行动态数据库的配置 由于现在Mgr里面已经有一个db.Table了,所以我从外面设置db.Table再传进来也不管用 不知道如何解决这种情况
例如调用这个方法进行查询的时候,如果判断找的数据是否存在。使用Find查找的时候,如果没有数据存在,会填入默认值,并且err也为nil。 是否应该把结果的`RowsAffected `也一起返回,通过这个来判断是否找到数据 ```go func (obj *_AdminMgr) GetFromID(id uint) (result Admin, err error) { err = obj.DB.WithContext(obj.ctx).Model(Admin{}).Where("`id` = ?", id).Find(&result).Error return } ```
数据表中的主键是自增的,生成go文件后,tag中未包含自增的描述`autoIncrement` ``` ID uint32 `gorm:"primaryKey;column:id;type:int unsigned;not null"` ``` 当执行`db. AutoMigrate`后,插入一条数据会报错: ``` Could not save row: Error 1364: Field 'id' doesn't have a default value ``` gorm迁移的sql语句是: ``` CREATE TABLE `rank`...
error info: Key: 'MysqlDbInfo.Port' Error:Field validation for 'Port' failed on the 'required' tag Key: 'MysqlDbInfo.Port' Error:Field validation for 'Port' failed on the 'required' tag gormt -H=127.0.0.1 -d=test -p=root -u=root -port=3306...
现在: ``` IsPass int64 `gorm:"column:is_pass;type:tinyint(4);not null;default:0" json:"is_pass"` // 0待核验/1已核验 ``` 希望: ``` IsPass int64 `gorm:"column:is_pass;type:tinyint(4);not null;default:0;comment:'0待核验/1已核验'" json:"is_pass"` // 0待核验/1已核验 ```
不知道这个好实现不,可选择的这样一个模式,一些架构就是规定了要放到不同的目录,每次自己去复制,太麻烦了
现在生成多个数据库的时候很不方便,要不断的切目录,希望能够一个配置文件生成多个目录,或者指定配置文件,这样方便很多
有些架构对文件摆放有强制要求,请问大佬怎么把它们放在不同目录。_BaseMgr 这个前边 _ 的意义是什么。
关于分页查询的使用大家可以参考这个博客 [gormt中分页查询的使用](https://xiaojujiang.blog.csdn.net/article/details/122315454?spm=1001.2014.3001.5502)