Categorygithub.com/wonli/gormt
repositorypackage
0.1.0
Repository: https://github.com/wonli/gormt.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Golang Database to Struct

MySQL Database to Golang Struct Conversion Tool Based on GORM v2

This tool allows you to automatically generate Golang structs from a MySQL database using GORM (version 2). It supports the big Camel-Case naming convention and JSON tags.

Improvements

This project is derived and improved from https://github.com/xxjwxc/gormt. Changes include:

  • Removal of the GUI for a simpler command-line interface.
  • Addition of table prefix configuration options.
  • Added support for GEOMETRY data type.
  • Removal of some unnecessary code for a more streamlined experience.

Support for GORM Attributes

  • Database Tables and Column Field Annotation: Support for detailed annotations in generated structs.
  • JSON Tag: Automatic JSON tag output in structs.
  • GORM.Model: Inclusion of GORM's built-in model features.
  • PRIMARY_KEY: Specifies a column as the primary key.
  • UNIQUE: Marks a column as unique.
  • NOT NULL: Marks a column as NOT NULL.
  • INDEX: Allows the creation of indexes, with or without a name; using the same name creates composite indexes.
  • UNIQUE_INDEX: Similar to INDEX, but creates a unique index.
  • GEOMETRY: Support for geometry data type.

Installation

Install the tool using the following Go command:

go get github.com/wonli/gormt@latest

Usage

package main

import (
	"github.com/wonli/gormt"
	"github.com/wonli/gormt/config"
)

func main() {
	dbInfo := config.DBInfo{
		Host:     "127.0.0.1",
		Port:     3306,
		Username: "root",
		Password: "123456",
		Database: "test",
		Type:     0,
	}

	conf := config.Config{
		DBInfo:           dbInfo,
		PkgName:          "schema", 
		OutDir:           "./examples/model", 
		DbTag:            "gorm",
		IsJsonTag:        true,
		IsNullToSqlNull:  true,
		TablePrefix:      "q_",
		StripTablePrefix: true,
		OutFileName:      "schema",
	}

	gormt.ExecuteConfig(&conf)
}