parser

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package parser is a library that parses to go structures based on sql and generates the code needed based on the template.

Index

Constants

View Source
const (
	// TableName table name
	TableName = "__table_name__"
	// CodeTypeModel model code
	CodeTypeModel = "model"
	// CodeTypeJSON json code
	CodeTypeJSON = "json"
	// CodeTypeDAO update fields code
	CodeTypeDAO = "dao"
	// CodeTypeHandler handler request and respond code
	CodeTypeHandler = "handler"
	// CodeTypeProto proto file code
	CodeTypeProto = "proto"
	// CodeTypeService grpc service code
	CodeTypeService = "service"
)

Variables

This section is empty.

Functions

func GetTableInfo

func GetTableInfo(dsn, tableName string) (string, error)

GetTableInfo get table info from mysql

func ParseSQL

func ParseSQL(sql string, options ...Option) (map[string]string, error)

ParseSQL generate different usage codes based on sql

Types

type Codes

type Codes struct {
	Model         []string // model code
	UpdateFields  []string // update fields code
	ModelJSON     []string // model json code
	HandlerStruct []string // handler request and respond code
}

Codes content

type NullStyle

type NullStyle int

NullStyle null type

const (
	NullDisable NullStyle = iota
	NullInSql
	NullInPointer
)

nolint

type Option

type Option func(*options)

Option function

func WithCharset

func WithCharset(charset string) Option

WithCharset set charset

func WithCollation

func WithCollation(collation string) Option

WithCollation set collation

func WithColumnPrefix

func WithColumnPrefix(p string) Option

WithColumnPrefix set column prefix

func WithEmbed

func WithEmbed() Option

WithEmbed is embed gorm.Model

func WithForceTableName

func WithForceTableName() Option

WithForceTableName set forceFloats

func WithGormType

func WithGormType() Option

WithGormType will write type in gorm tag

func WithJSONTag

func WithJSONTag(namedType int) Option

WithJSONTag set json tag, 0 for underscore, other values for hump

func WithNoNullType

func WithNoNullType() Option

WithNoNullType set NoNullType

func WithNullStyle

func WithNullStyle(s NullStyle) Option

WithNullStyle set NullType

func WithPackage

func WithPackage(pkg string) Option

WithPackage set package name

func WithTablePrefix

func WithTablePrefix(p string) Option

WithTablePrefix set table prefix

func WithWebProto

func WithWebProto() Option

WithWebProto set proto file type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL