settings

package
v0.0.0-...-a1a4581 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2024 License: MIT Imports: 3 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// SupportedDbTypes represents the supported databases
	SupportedDbTypes = map[DBType]bool{
		DBTypePostgresql: true,
		DBTypeMySQL:      true,
		DBTypeSQLite:     true,
	}
)

Functions

func SprintfSupportedDbTypes

func SprintfSupportedDbTypes() string

SprintfSupportedDbTypes returns a slice of strings as names of the supported database types

func SprintfSupportedNullTypes

func SprintfSupportedNullTypes() string

SprintfSupportedNullTypes returns a slice of strings as names of the supported null types

Types

type DBType

type DBType string

DBType represents a type of a database.

const (
	DBTypePostgresql DBType = "pg"
	DBTypeMySQL      DBType = "mysql"
	DBTypeSQLite     DBType = "sqlite3"
)

These database types are supported.

func (*DBType) Set

func (db *DBType) Set(s string) error

Set sets the datatype for the custom type for the flag package.

func (DBType) String

func (db DBType) String() string

String is the implementation of the Stringer interface needed for flag.Value interface.

type FileNameFormat

type FileNameFormat string

FileNameFormat represents a output filename format.

const (
	FileNameFormatCamelCase FileNameFormat = "c"
	FileNameFormatSnakeCase FileNameFormat = "s"
)

These are the FileNameFormat command line parameter.

func (*FileNameFormat) Set

func (of *FileNameFormat) Set(s string) error

Set sets the datatype for the custom type for the flag package.

func (FileNameFormat) String

func (of FileNameFormat) String() string

type NullType

type NullType string

NullType represents a null type.

const (
	NullTypeSQL       NullType = "sql"
	NullTypeNative    NullType = "native"
	NullTypePrimitive NullType = "primitive"
)

These null types are supported. The types native and primitive map to the same underlying builtin golang type.

func (*NullType) Set

func (t *NullType) Set(s string) error

Set sets the datatype for the custom type for the flag package.

func (NullType) String

func (t NullType) String() string

String is the implementation of the Stringer interface needed for flag.Value interface.

type OutputFormat

type OutputFormat string

OutputFormat represents an output format option.

const (
	OutputFormatCamelCase OutputFormat = "c"
	OutputFormatOriginal  OutputFormat = "o"
)

These are the OutputFormat command line parameter.

func (*OutputFormat) Set

func (of *OutputFormat) Set(s string) error

Set sets the datatype for the custom type for the flag package.

func (OutputFormat) String

func (of OutputFormat) String() string

String is the implementation of the Stringer interface needed for flag.Value interface.

type Settings

type Settings struct {
	Verbose  bool
	VVerbose bool
	Force    bool // continue through errors

	DbType DBType

	User    string
	Pswd    string
	DbName  string
	Schema  string
	Host    string
	Port    string
	SSLMode string
	Socket  string

	OutputFilePath string
	OutputFormat   OutputFormat

	FileNameFormat FileNameFormat
	PackageName    string
	Prefix         string
	Suffix         string
	Null           NullType

	NoInitialism bool

	TagsNoDb bool

	TagsMastermindStructable       bool
	TagsMastermindStructableOnly   bool
	IsMastermindStructableRecorder bool

	// TODO not implemented yet
	TagsGorm bool
}

Settings stores the supported settings / command line arguments.

func New

func New() *Settings

New constructs Settings with default values.

func (*Settings) IsFileNameFormatSnakeCase

func (settings *Settings) IsFileNameFormatSnakeCase() bool

IsFileNameFormatSnakeCase returns if the type given by the command line args is snake-case format.

func (*Settings) IsNullTypeSQL

func (settings *Settings) IsNullTypeSQL() bool

IsNullTypeSQL returns true if the type given by the command line args is of null type SQL

func (*Settings) IsOutputFormatCamelCase

func (settings *Settings) IsOutputFormatCamelCase() bool

IsOutputFormatCamelCase returns if the type given by command line args is of camel-case format.

func (*Settings) ShouldInitialism

func (settings *Settings) ShouldInitialism() bool

ShouldInitialism returns whether column names should be converted to initialisms or not.

func (*Settings) Verify

func (settings *Settings) Verify() (err error)

Verify verifies the Settings and checks the given output paths.

Jump to

Keyboard shortcuts

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