config

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 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 added in v0.9.5

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

func ReverseSource2RedisDialect added in v0.9.5

func ReverseSource2RedisDialect(r *ReverseSource) *dialect.Redis

func SaveSettingsTo added in v0.9.5

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

func Settings2Bytes added in v0.9.5

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 added in v0.9.5

func (ds DataSource) GetDriverName() string

type IConnectSettings added in v0.3.1

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

type IReverseSettings added in v0.3.1

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

type PartConfig added in v0.3.1

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 added in v0.9.5

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

func (ReverseSource) Connect added in v0.9.5

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 added in v0.9.1

func (t ReverseTarget) GetOutFileName(name string) string

func (ReverseTarget) GetParentOutFileName added in v0.9.1

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 added in v0.9.1

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

func (Settings) GetConnConfigMap added in v0.9.1

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

func (Settings) GetReverseTargets added in v0.3.1

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