config

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 20, 2020 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT_DIR_MODE  = 0o755
	DEFAULT_FILE_MODE = 0o644
)
View Source
const (
	INIT_FILE_NAME   = "init"
	CONN_FILE_NAME   = "conn"
	SINGLE_FILE_NAME = "models"
	QUERY_FILE_NAME  = "queries"

	XORM_TAG_NAME        = "xorm"
	XORM_TAG_NOT_NULL    = "notnull"
	XORM_TAG_AUTO_INCR   = "autoincr"
	XORM_TAG_PRIMARY_KEY = "pk"
	XORM_TAG_UNIQUE      = "unique"
	XORM_TAG_INDEX       = "index"
)

Variables

This section is empty.

Functions

func ReadSettingsFrom

func ReadSettingsFrom(fileName string, cfg interface{}) error

func ReverseSource2RedisDialect

func ReverseSource2RedisDialect(r *ReverseSource) *dialect.Redis

func SaveSettingsTo

func SaveSettingsTo(fileName string, cfg interface{}) error

func Settings2Bytes

func Settings2Bytes(cfg interface{}) []byte

Types

type AppConfig

type AppConfig struct {
	Debug       bool `json:"debug" yaml:"debug"`
	PluralTable bool `json:"plural_table" yaml:"plural_table"`
}

type ConnConfig

type ConnConfig struct {
	DriverName string                          `json:"driver_name" yaml:"driver_name"`
	ReadOnly   bool                            `json:"read_only" yaml:"read_only"`
	Params     dialect.ConnParams              `json:"params" yaml:"params"`
	PartConfig `json:",inline" yaml:",inline"` // 注意逗号不能少
}

type DataSource

type DataSource struct {
	ConnKey      string
	ImporterPath string
	PartConfig
	*ReverseSource
}

func NewDataSource

func NewDataSource(c ConnConfig, name string) *DataSource

func (DataSource) GetDriverName

func (ds DataSource) GetDriverName() string

type IConnectSettings

type IConnectSettings interface {
	GetConnConfigMap(keys ...string) map[string]ConnConfig
	GetConnConfig(key string) (ConnConfig, bool)
}

type IReverseSettings

type IReverseSettings interface {
	GetReverseTargets() []ReverseTarget
	IConnectSettings
}

type PartConfig

type PartConfig struct {
	TablePrefix   string   `json:"table_prefix" yaml:"table_prefix"`
	IncludeTables []string `json:"include_tables" yaml:"include_tables"`
	ExcludeTables []string `json:"exclude_tables" yaml:"exclude_tables"`
}

type ReverseConfig

type ReverseConfig struct {
	Kind    string          `yaml:"kind"`
	Name    string          `yaml:"name"`
	Source  ReverseSource   `yaml:"source"`
	Targets []ReverseTarget `yaml:"targets"`
}

ReverseConfig represents a reverse configuration

type ReverseSource

type ReverseSource struct {
	Database string `yaml:"database"`
	ConnStr  string `yaml:"conn_str"`
	OptStr   string `yaml:"opt_str"`
}

ReverseSource represents a reverse source which should be a database connection

func NewReverseSource

func NewReverseSource(c ConnConfig) (*ReverseSource, dialect.Dialect)

func (ReverseSource) Connect

func (r ReverseSource) Connect(verbose bool) (*xorm.Engine, error)

type ReverseTarget

type ReverseTarget struct {
	Type              string   `yaml:"type"`
	IncludeTables     []string `yaml:"include_tables"`
	ExcludeTables     []string `yaml:"exclude_tables"`
	TableMapper       string   `yaml:"table_mapper"`
	ColumnMapper      string   `yaml:"column_mapper"`
	TemplatePath      string   `yaml:"template_path"`
	QueryTemplatePath string   `yaml:"query_template_path"`
	InitTemplatePath  string   `yaml:"init_template_path"`
	InitNameSpace     string   `yaml:"init_name_space"`
	MultipleFiles     bool     `yaml:"multiple_files"`
	OutputDir         string   `yaml:"output_dir"`
	TablePrefix       string   `yaml:"table_prefix"`
	Language          string   `yaml:"language"`

	Funcs     map[string]string `yaml:"funcs"`
	Formatter string            `yaml:"formatter"`
	Importter string            `yaml:"importter"`
	ExtName   string            `yaml:"ext_name"`

	NameSpace       string `yaml:"name_space"`
	GenJsonTag      bool   `yaml:"gen_json_tag"`
	GenTableName    bool   `yaml:"gen_table_name"`
	GenQueryMethods bool   `yaml:"gen_query_methods"`
	ApplyMixins     bool   `yaml:"apply_mixins"`
	MixinDirPath    string `yaml:"mixin_dir_path"`
	MixinNameSpace  string `yaml:"mixin_name_space"`
}

ReverseTarget represents a reverse target

func (ReverseTarget) GetFileName

func (t ReverseTarget) GetFileName(dir, name string) string

func (ReverseTarget) GetOutFileName

func (t ReverseTarget) GetOutFileName(name string) string

func (ReverseTarget) GetParentOutFileName

func (t ReverseTarget) GetParentOutFileName(name string, backward int) string

func (ReverseTarget) MergeOptions

func (t ReverseTarget) MergeOptions(name string, part PartConfig) ReverseTarget

type Settings

type Settings struct {
	Application    AppConfig             `json:"application" yaml:"application"`
	Connections    map[string]ConnConfig `json:"connections" yaml:"connections"`
	ReverseTargets []ReverseTarget       `json:"reverse_targets" yaml:"reverse_targets"`
}

func ReadSettings

func ReadSettings(fileName string) (*Settings, error)

func (Settings) GetConnConfig

func (cfg Settings) GetConnConfig(key string) (ConnConfig, bool)

func (Settings) GetConnConfigMap

func (cfg Settings) GetConnConfigMap(keys ...string) map[string]ConnConfig

func (Settings) GetReverseTargets

func (cfg Settings) GetReverseTargets() []ReverseTarget

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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