EasyGBS在调试现场接入mysql启动过后数据库表生成不全原因排查及修复

由于EasyGBS产品的数据库不支持大量的使用,因此我们需要通过安装MySQL数据库来代替EasyGBS内部的数据库。EasyGBS在调试现场接入mysql的时候出现一个问题,就是启动过后数据库表生成的不全,通道表之后的表数据都没有生成。

44.png

45.png

通过排查代码发现,通道表结构体字段在mysql中的gorm映射框架存在字段bool处理问题。

46.png

修改代码如下,调整gorm数据库bool类型数据字段映射,将单引号删除。

GbsLatitude      float64
CustomID         string
PTZType          int //0 - 未知, 1 - 球机, 2 - 半球, 3 - 固定枪机, 4 - 遥控枪机
DownloadSpeed    string
Ondemand         bool           `gorm:"type:bool;default:true"` //按需直播
Record           uint           `gorm:"type:INTEGER;default:0"` //服务端录像保存天数,0为关闭录像
CreatedAt        utils.DateTime `gorm:"type:datetime"`
UpdatedAt        utils.DateTime `gorm:"type:datetime"`
Audio            bool           `gorm:"type:bool;default:false"` //音频开关
RecordPlanSwitch bool           `gorm:"type:bool;default:false"` //录像计划开关
RecordPlan       string         `gorm:"type:TEXT"`               //录像计划
CDN              string         `gorm:"type:TEXT"`               //通道cdn

再次启动服务,数据库表都完整生成,该问题得到解决。

47.png

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。之前我们用到MySQL的大部分情况都在EasyDSS和EasyNTS的数据库开发方面,在EasyNTS这样的产品使用集群功能的时候,MySQL就十分实用。

大家可以看看我们之前开发MySQL的部分分享内容:EasyNTS如何配置MySQL数据库EasyDSS在非集群模式启用mysql数据库开发。更多视频流媒体开发的内容,欢迎了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值