golang-gin-mysql转gorm-struct--gen-model

这篇具有很好参考价值的文章主要介绍了golang-gin-mysql转gorm-struct--gen-model。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:python-django项目用go-gin重构,数据库已存在,gin中使用gorm 所以需要工具将mysql数据库中的表结构转到orm的model中。

前提:因为国内访问github需要稳定的代理

Goproxy.cn  推荐这个

golang-gin-mysql转gorm-struct--gen-model

1.在项目路径中下载gen-model模块 

go get -u github.com/DaoYoung/gen-model

# GOBIN 目录下会有一个gen-model.exe

# 如果安装失败--:https://github.com/DaoYoung/gen-model 下载源代码,进到gen-model, 手动  go install

Usage

  1. run init command, you will see .gen-model.yaml
cd ${your_project_dir}
gen-model init
  1. change mysql.* gen.searchTableName value in .gen-model.yaml, then run

golang-gin-mysql转gorm-struct--gen-model

 

gen-model create
  1. create local mappers for struct
gen-model create --persist=local-mapper

# it will fail, when run after step 2, because struct file is already exist, it's avoid to cover whole file. you can set `-f=true` to cover it.

gen-model create --persist=local-mapper -f=true

golang-gin-mysql转gorm-struct--gen-model

  1. rename mapper file from ${struct}FieldMapper.yaml to ${struct}VOFieldMapper.yaml, and delete one line after fields
gen-model create --source=local-mapper --forceCover=true --modelSuffix=VO
# it will generate `${struct}VO.go`

golang-gin-mysql转gorm-struct--gen-model

  1. persist mapper data in database just use db-mapper instead of local-mapper.
gen-model create --persist=db-mapper --forceCover=true
# it means, you can manage struct for multiple project.
# this require mysql `Create` privilege
  1. see what gen-model can do.
gen-model -h
gen-model create -h # commend `create` help

 文章来源地址https://www.toymoban.com/news/detail-486169.html

到了这里,关于golang-gin-mysql转gorm-struct--gen-model的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • gin表单验证struct tag

    本文是对 validate tag not working in ShouldBindWith 的回答。 有人提了这么一个问题: 然后表单验证的时候,明明 Order 传递了一个不符合 oneof=ASC DESC 的值,但却验证通过了。 虽然 gin 使用了 go-playground/validator 来作为表单验证的组件,但是在 gin 里面却修改了 struct 验证的 tagname,我们

    2024年01月22日
    浏览(27)
  • Go Gin Gorm Casbin权限管理实现 - 3. 实现Gin鉴权中间件

    Casbin是用于Golang项目的功能强大且高效的开源访问控制库。 强大通用也意味着概念和配置较多,具体到实际应用(以Gin Web框架开发)需要解决以下问题: 权限配置的存储,以及 增删改查 Gin框架的中间件如何实现 经过一番摸索实践出经验,计划分为三个章节,循序渐进的介绍

    2024年02月07日
    浏览(41)
  • go的gin和gorm框架实现切换身份的接口

    使用go的gin和gorm框架实现切换身份的接口,接收前端发送的JSON对象,查询数据库并更新,返回前端信息 接收前端发来的JSON对象,包含由openid和登陆状态组成的一个string和要切换的身份码int型 后端接收后判断要切换的身份是否低于该用户身份,是则更新数据库的登录状态为要

    2024年02月12日
    浏览(32)
  • go gin gorm连接postgres postgis输出geojson

    go gin gorm连接postgres postgis输出geojson         go-gin-gorm         postgres-postgis         go vscode环境安装-智能提示配置         思路就是:采用原生sql实现查询、更新等,采用gorm的raw来执行sql语句         

    2024年02月09日
    浏览(34)
  • Go【gin和gorm框架】实现紧急事件登记的接口

    简单来说,就是接受前端微信小程序发来的数据保存到数据库,这是我写的第二个接口,相比前一个要稍微简单一些,而且因为前端页面也是我写的,参数类型自然是无缝对接@_@ 前端页面大概长这个样子  先用apifox模拟发送请求测试 apifox可以直接复制JSON对象过来goland自动生

    2024年02月11日
    浏览(35)
  • 【链路追踪】「Go语言」OpenTelemetry实现[gin, gRPC, log, gorm, redis]的集成

    OpenTelemetry中文文档:https://github.com/open-telemetry/docs-cn/blob/main/OT.md 之前用的是jaeger实现链路追踪,但是想要换成Zipkin等框架或集成指标监控或集成日志会换框架很麻烦。 OpenTracing制定了一套平台无关、厂商无关的协议标准,使得开发人员能够方便的添加或更换底层APM的实现。

    2024年02月06日
    浏览(39)
  • Golang Gorm 一对多查询 preload预加载

     GORM允许使用  Preload 通过多个SQL中来直接加载关系, 例如: 其实很简单, 你要preload  user表 的数据,gorm就提前把这张表全部取出来,然后再执行 First 或 Find 这样的方法去查询主数据,最后把两种数据通过外键关联一一对应起来。 其实preload也就是做了两次查询。    有了

    2024年02月11日
    浏览(38)
  • golang操作数据库--gorm框架、redis

    ①引入 ②初始化 ③增删改查 官网: http://gorm.io/ ①引入 ②初始化 ③增删改查 说明:Debug()可以查看执行的sql语句。 ④gorm gen的使用 a.先安装 (会安装到gopath的bin目录下,windows电脑,需要将该路径加入到系统路径) eg : b.举例: 说明1:windows电脑go install之后,把exe添加到系统路

    2024年02月10日
    浏览(39)
  • Golang Gorm 更新字段 save、update、updates

    更新和删除操作的前提条件都是要在找到数据的情况下,先要查询到数据才可以做操作。 更新的前提的先查询到记录, Save保存所有字段,用于单个记录的全字段更新 ,它会保控所有字段,即使零值也会保存。 在更新和删除之前,要利用之前学的查询语句先查询到数据,再

    2024年02月03日
    浏览(31)
  • 开源 Golang 微服务入门三:ORM 框架 GORM

    前两篇笔记分别介绍了 Golang 微服务 HTTP 框架 Hertz 和 Golang 微服务 RPC 框架 Kitex,本文将要介绍面向ORM(持久层)框架 GORM。 官方文档 GORM 是面向 Golang 语言的一种 ORM(持久层)框架,支持多种数据库的接入,例如 MySQL,PostgreSQL,SQLite,SQL Server,Clickhouse。此框架的特点,弱化了开

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包