Documentation
¶
Index ¶
- Constants
- Variables
- type AdditionalComment
- type AdditionalRelation
- type ColumnCount
- type Config
- func (c *Config) FilterTables(s *schema.Schema) error
- func (c *Config) Load(configPath string, options ...Option) error
- func (c *Config) LoadConfigFile(path string) error
- func (c *Config) LoadEnviron() error
- func (c *Config) MaskedDSN() (string, error)
- func (c *Config) MergeAdditionalData(s *schema.Schema) error
- func (c *Config) ModifySchema(s *schema.Schema) error
- type DSN
- type DuplicateRelations
- type ER
- type Format
- type LabelStyleBigQuery
- type Lint
- type Option
- type RequireColumnComment
- type RequireColumns
- type RequireColumnsColumn
- type RequireConstraintComment
- type RequireForeignKeyIndex
- type RequireIndexComment
- type RequireTableComment
- type RequireTriggerComment
- type Rule
- type RuleWarn
- type UnrelatedTable
Constants ¶
const DefaultERFormat = "png"
DefaultERFormat is the default ER diagram format
Variables ¶
var DefaultDistance = 1
DefaultDistance is the default distance between tables that display relations in the ER
Functions ¶
This section is empty.
Types ¶
type AdditionalComment ¶
type AdditionalComment struct {
Table string `yaml:"table"`
TableComment string `yaml:"tableComment,omitempty"`
ColumnComments map[string]string `yaml:"columnComments,omitempty"`
IndexComments map[string]string `yaml:"indexComments,omitempty"`
ConstraintComments map[string]string `yaml:"constraintComments,omitempty"`
TriggerComments map[string]string `yaml:"triggerComments,omitempty"`
Labels []string `yaml:"labels,omitempty"`
}
AdditionalComment is the struct for table relation from yaml
type AdditionalRelation ¶
type AdditionalRelation struct {
Table string `yaml:"table"`
Columns []string `yaml:"columns"`
ParentTable string `yaml:"parentTable"`
ParentColumns []string `yaml:"parentColumns"`
Def string `yaml:"def,omitempty"`
}
AdditionalRelation is the struct for table relation from yaml
type ColumnCount ¶ added in v1.8.0
type ColumnCount struct {
Enabled bool `yaml:"enabled"`
Max int `yaml:"max"`
Exclude []string `yaml:"exclude"`
}
ColumnCount checks table column count
func (ColumnCount) Check ¶ added in v1.8.0
func (r ColumnCount) Check(s *schema.Schema, exclude []string) []RuleWarn
Check table column count
func (ColumnCount) IsEnabled ¶ added in v1.8.0
func (r ColumnCount) IsEnabled() bool
IsEnabled return Rule is enabled or not
type Config ¶
type Config struct {
Name string `yaml:"name"`
Desc string `yaml:"desc,omitempty"`
Labels []string `yaml:"labels,omitempty"`
DSN DSN `yaml:"dsn"`
DocPath string `yaml:"docPath"`
Format Format `yaml:"format,omitempty"`
ER ER `yaml:"er,omitempty"`
Include []string `yaml:"include,omitempty"`
Exclude []string `yaml:"exclude,omitempty"`
Lint Lint `yaml:"lint,omitempty"`
LintExclude []string `yaml:"lintExclude,omitempty"`
Relations []AdditionalRelation `yaml:"relations,omitempty"`
Comments []AdditionalComment `yaml:"comments,omitempty"`
Dict dict.Dict `yaml:"dict,omitempty"`
MergedDict dict.Dict `yaml:"-"`
// contains filtered or unexported fields
}
Config is tbls config
func (*Config) FilterTables ¶ added in v1.28.0
FilterTables filter tables from schema.Schema
func (*Config) LoadConfigFile ¶
LoadConfigFile load config file
func (*Config) LoadEnviron ¶ added in v1.9.0
LoadEnviron load environment variables
func (*Config) MergeAdditionalData ¶ added in v1.8.0
MergeAdditionalData merge relations: comments: to schema.Schema
type DSN ¶ added in v1.10.0
func (DSN) MarshalYAML ¶ added in v1.29.3
func (*DSN) UnmarshalYAML ¶ added in v1.29.3
type DuplicateRelations ¶ added in v1.19.0
type DuplicateRelations struct {
Enabled bool `yaml:"enabled"`
}
DuplicateRelations checks duplicate table relations
func (DuplicateRelations) Check ¶ added in v1.19.0
func (r DuplicateRelations) Check(s *schema.Schema, exclude []string) []RuleWarn
Check duplicate table relations
func (DuplicateRelations) IsEnabled ¶ added in v1.19.0
func (r DuplicateRelations) IsEnabled() bool
IsEnabled return Rule is enabled or not
type ER ¶ added in v1.10.0
type ER struct {
Skip bool `yaml:"skip,omitempty"`
Format string `yaml:"format,omitempty"`
Comment bool `yaml:"comment,omitempty"`
Distance *int `yaml:"distance,omitempty"`
}
ER is er setting
type LabelStyleBigQuery ¶ added in v1.32.0
LabelStyleBigQuery checks if labels are in BigQuery style ( https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements )
func (LabelStyleBigQuery) Check ¶ added in v1.32.0
func (r LabelStyleBigQuery) Check(s *schema.Schema, exclude []string) []RuleWarn
Check if labels are in BigQuery style
func (LabelStyleBigQuery) IsEnabled ¶ added in v1.32.0
func (r LabelStyleBigQuery) IsEnabled() bool
IsEnabled return Rule is enabled or not
type Lint ¶ added in v1.8.0
type Lint struct {
RequireTableComment RequireTableComment `yaml:"requireTableComment"`
RequireColumnComment RequireColumnComment `yaml:"requireColumnComment"`
RequireIndexComment RequireIndexComment `yaml:"requireIndexComment"`
RequireConstraintComment RequireConstraintComment `yaml:"requireConstraintComment"`
RequireTriggerComment RequireTriggerComment `yaml:"requireTriggerComment"`
ColumnCount ColumnCount `yaml:"columnCount"`
RequireColumns RequireColumns `yaml:"requireColumns"`
DuplicateRelations DuplicateRelations `yaml:"duplicateRelations"`
RequireForeignKeyIndex RequireForeignKeyIndex `yaml:"requireForeignKeyIndex"`
LabelStyleBigQuery LabelStyleBigQuery `yaml:"labelStyleBigQuery"`
}
Lint is the struct for lint config
type Option ¶ added in v1.10.0
Option function change Config
type RequireColumnComment ¶ added in v1.8.0
type RequireColumnComment struct {
Enabled bool `yaml:"enabled"`
Exclude []string `yaml:"exclude"`
ExcludeTables []string `yaml:"excludeTables"`
}
RequireColumnComment checks column comment
func (RequireColumnComment) Check ¶ added in v1.8.0
func (r RequireColumnComment) Check(s *schema.Schema, exclude []string) []RuleWarn
Check column comment
func (RequireColumnComment) IsEnabled ¶ added in v1.8.0
func (r RequireColumnComment) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireColumns ¶ added in v1.12.0
type RequireColumns struct {
Enabled bool `yaml:"enabled"`
Columns []RequireColumnsColumn `yaml:"columns"`
}
RequireColumns checks if the table has specified columns
func (RequireColumns) Check ¶ added in v1.12.0
func (r RequireColumns) Check(s *schema.Schema, exclude []string) []RuleWarn
Check the existence of a table columns
func (RequireColumns) IsEnabled ¶ added in v1.12.0
func (r RequireColumns) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireColumnsColumn ¶ added in v1.12.0
RequireColumnsColumn is required column
type RequireConstraintComment ¶ added in v1.37.0
type RequireConstraintComment struct {
Enabled bool `yaml:"enabled"`
Exclude []string `yaml:"exclude"`
ExcludeTables []string `yaml:"excludeTables"`
}
RequireConstraintComment checks constraint comment
func (RequireConstraintComment) Check ¶ added in v1.37.0
func (r RequireConstraintComment) Check(s *schema.Schema, exclude []string) []RuleWarn
Check constraint comment
func (RequireConstraintComment) IsEnabled ¶ added in v1.37.0
func (r RequireConstraintComment) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireForeignKeyIndex ¶ added in v1.20.0
type RequireForeignKeyIndex struct {
Enabled bool `yaml:"enabled"`
Exclude []string `yaml:"exclude"`
}
RequireForeignKeyIndex checks if the foreign key columns have an index
func (RequireForeignKeyIndex) Check ¶ added in v1.20.0
func (r RequireForeignKeyIndex) Check(s *schema.Schema, exclude []string) []RuleWarn
Check if the foreign key columns have an index
func (RequireForeignKeyIndex) IsEnabled ¶ added in v1.20.0
func (r RequireForeignKeyIndex) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireIndexComment ¶ added in v1.37.0
type RequireIndexComment struct {
Enabled bool `yaml:"enabled"`
Exclude []string `yaml:"exclude"`
ExcludeTables []string `yaml:"excludeTables"`
}
RequireIndexComment checks index comment
func (RequireIndexComment) Check ¶ added in v1.37.0
func (r RequireIndexComment) Check(s *schema.Schema, exclude []string) []RuleWarn
Check index comment
func (RequireIndexComment) IsEnabled ¶ added in v1.37.0
func (r RequireIndexComment) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireTableComment ¶ added in v1.8.0
RequireTableComment checks table comment
func (RequireTableComment) Check ¶ added in v1.8.0
func (r RequireTableComment) Check(s *schema.Schema, exclude []string) []RuleWarn
Check table comment
func (RequireTableComment) IsEnabled ¶ added in v1.8.0
func (r RequireTableComment) IsEnabled() bool
IsEnabled return Rule is enabled or not
type RequireTriggerComment ¶ added in v1.37.0
type RequireTriggerComment struct {
Enabled bool `yaml:"enabled"`
Exclude []string `yaml:"exclude"`
ExcludeTables []string `yaml:"excludeTables"`
}
RequireTriggerComment checks trigger comment
func (RequireTriggerComment) Check ¶ added in v1.37.0
func (r RequireTriggerComment) Check(s *schema.Schema, exclude []string) []RuleWarn
Check trigger comment
func (RequireTriggerComment) IsEnabled ¶ added in v1.37.0
func (r RequireTriggerComment) IsEnabled() bool
IsEnabled return Rule is enabled or not
type UnrelatedTable ¶ added in v1.8.2
type UnrelatedTable struct {
}
UnrelatedTable checks isolated table
func (UnrelatedTable) Check ¶ added in v1.8.2
func (r UnrelatedTable) Check(s *schema.Schema, exclude []string) []RuleWarn
Check table relation
func (UnrelatedTable) IsEnabled ¶ added in v1.8.2
func (r UnrelatedTable) IsEnabled() bool
IsEnabled return Rule is enabled or not