解决goravel/gorm自动迁移AutoMigrate 时会将关联关系也一并迁移问题

前言

最近在做一个golang的系统,我采用的是goravel框架,参考goravel的耗子大佬源码(貌似已经被删除了,是哪个commit我不记得了,只记得大佬在goravel群里有发过此迁移方案实现的连接)我参考实现了自动迁移功能,但是最近突然发现这个迁移有问题,明明我每个表写的都有注释,并且注释和表结构体是一一对饮循环调用AutoMigrate进行迁移的,但是就是出现很多表的注释和其他表长一模一样,很懵逼找了很多方案,也搜了很多信息都没搜到解决方案,最后无奈扒了一下gorm源码才得到解决

我的迁移源码

我的model文件大概是这样写的:

type ModelClickAuto struct {
	Model   interface{}
	Comment string
	ENGINE  string //数据库引擎
}
func GetModelsStruct() []ModelAuto {

	clickmodels := []ModelAuto{
		{&xxx{}, "设备表1"},
		{&xxxx{}, "设备表2"},
		{&xxxxx{}, "设备表3"},
	} // end
	return clickmodels
}

我的 /app/providers/database_service_provider.go文件迁移大概是这样写的:

modelss := models.GetModelsStruct()  //这里获取到的是一个二维切片
tx := facades.Orm().Query().(*gorm.QueryImpl)

猜你喜欢

转载自blog.csdn.net/qq_38883889/article/details/143336215