gen

package
v0.0.30 Latest Latest
Warning

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

Go to latest
Published: May 7, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TypeGormModel - type gorm model gen
	TypeGormModel = "gorm_model"
	// TypeBeegoModel - type beego model gen
	TypeBeegoModel = "beego_model"
	// TypeService - type service gen
	TypeService = "service"
)

Variables

This section is empty.

Functions

func Register

func Register(name string, adapter Instance)

Register makes a Generator adapter available by the adapter name. If Register is called twice with the same name or if driver is nil, it panics.

Types

type Config

type Config struct {
	Package    string           `json:"package"`
	GenPath    string           `json:"gen_path"`
	AllInOne   bool             `json:"all_in_one"`
	ModelCfg   ModelGenConfig   `json:"model_cfg"`
	ServiceCfg ServiceGenConfig `json:"service_cfg"`
}

Config - init config

type Generator

type Generator interface {
	// Gen - gen file
	Gen() error

	// start gc routine based on config settings.
	StartAndGC(config Config) error
}

Generator interface contains all behaviors for model generator adapter.

func NewGenerator

func NewGenerator(adapterName string, config Config) (adapter Generator, err error)

NewGenerator Create a new Generator driver by adapter name and config setting. it will start gc automatically.

type Instance

type Instance func() Generator

Instance is a function create a new Generator Instance

type Item

type Item struct {
	Name        string                 `json:"name"`
	TableName   string                 `json:"table_name"`
	Relations   []string               `json:"relations"`
	Detail      string                 `json:"detail"`
	Primary     Primary                `json:"primary"`
	DisableMode bool                   `json:"disable_mode"`
	Extend      map[string]interface{} `json:"extend"`
}

Item - gen item

type ModelGenConfig added in v0.0.6

type ModelGenConfig struct {
	Items        []Item `json:"items"`
	MaxIdleConns int64  `json:"max_idle_conns"`
	MaxOpenConns int64  `json:"set_max_open_conns"`
}

ModelGenConfig - model config

type Primary added in v0.0.30

type Primary struct {
	Type    string
	Name    string
	Default interface{}
}

Primary - primary key info

func (*Primary) IsEmpty added in v0.0.30

func (p *Primary) IsEmpty() bool

IsEmpty - check primary is empty

type SItem added in v0.0.6

type SItem struct {
	Req        interface{}            `json:"req"`
	Dst        interface{}            `json:"dst"`
	Index      int64                  `json:"index"`
	CheckApp   bool                   `json:"check_app"`
	DisableRPC bool                   `json:"disable_rpc"`
	ViewCfg    ViewConfig             `json:"view_cfg"`
	Extend     map[string]interface{} `json:"extend"`
}

SItem - service config item

type ServiceGenConfig added in v0.0.6

type ServiceGenConfig struct {
	Items       []SItem         `json:"items"`
	ImportPaths []string        `json:"import_paths"`
	IgnoreName  map[string]bool `json:"ignore_name"`
	KeepName    map[string]bool `json:"keep_name"`
}

ServiceGenConfig - service config

type ViewConfig added in v0.0.22

type ViewConfig struct {
	Enable     bool              `json:"enable"`
	Mapping    map[string]string `json:"mapping"`
	RelMapping map[string]string `json:"relation_mapping"`
}

ViewConfig - view gen config

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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