field

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 20, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bool added in v0.5.0

type Bool struct {
	BoolBuilder
	BoolStorage
}

Bool 布尔类型的字段。

type BoolBuilder added in v0.5.0

type BoolBuilder struct {
	// contains filtered or unexported fields
}

BoolBuilder

func (*BoolBuilder) AttrType added in v0.5.0

func (i *BoolBuilder) AttrType(dbType dialect.DbDriver) string

AttrType 获取字段的数据库中的类型名,如果返回空字符串,会出现错误。

Params:

  • dbType: 数据库类型。

Returns:

  • 字段的数据库中的类型名。

func (*BoolBuilder) Comment added in v0.5.0

func (i *BoolBuilder) Comment(comment string) *BoolBuilder

Comment 设置字段的注释。

Params:

  • comment: 字段的注释。

func (*BoolBuilder) Default added in v0.5.0

func (i *BoolBuilder) Default(value bool) *BoolBuilder

Default 设置字段的默认值。 如果设置了默认值,则在插入数据时,如果没有设置字段的值,则会使用默认值。

Params:

  • value: 字段的默认值。

func (*BoolBuilder) Descriptor added in v0.5.0

func (i *BoolBuilder) Descriptor() *entity.Descriptor

Descriptor 获取字段的描述。

func (*BoolBuilder) Init added in v0.5.0

func (i *BoolBuilder) Init(initDesc *entity.Descriptor) error

Init 初始化字段的描述信息,在代码生成阶段初始化时调用。

Params:

  • desc: 字段的描述信息。

func (*BoolBuilder) Locked added in v0.5.0

func (i *BoolBuilder) Locked() *BoolBuilder

Locked 设置字段为只读字段。

func (*BoolBuilder) Name added in v0.5.0

func (i *BoolBuilder) Name(name string) *BoolBuilder

Name 用于设置字段在数据库中的名称。

如果不设置,会默认采用`snake_case`的方式将字段名转换为数据库字段名,比如示例中的ID字段会被转换为`i_d`。

Params:

  • name: 字段在数据库中的名称。

func (*BoolBuilder) Primary added in v0.5.0

func (i *BoolBuilder) Primary(index int) *BoolBuilder

Primary设置字段为主键。

Params:

  • index: 主键的索引,从1开始,对于多个主键,需要设置不同大小的索引。

func (*BoolBuilder) Required added in v0.5.0

func (i *BoolBuilder) Required() *BoolBuilder

Required 是否非空,默认可以为null,如果调用[Required],则字段为非空字段。

func (*BoolBuilder) ValueType added in v0.5.0

func (i *BoolBuilder) ValueType() string

ValueType 用于设置字段的值在go中类型名称。

Returns:

  • 字段的值在go中类型名称。

type BoolStorage added in v0.5.0

type BoolStorage struct {
	// contains filtered or unexported fields
}

BoolStorage 布尔类型的字段存储。

func (*BoolStorage) Get added in v0.5.0

func (i *BoolStorage) Get() *bool

Get 获取字段的值。

func (*BoolStorage) Scan added in v0.5.0

func (s *BoolStorage) Scan(value any) error

Scan 从数据库中读取字段的值。

func (*BoolStorage) Set added in v0.5.0

func (i *BoolStorage) Set(value bool) error

Set 设置字段的值。

func (BoolStorage) String added in v0.5.0

func (s BoolStorage) String() string

String 返回字段的字符串表示。

func (*BoolStorage) Value added in v0.5.0

func (s *BoolStorage) Value() entity.FieldValue

Value 返回字段的值,和Get方法不同的是,Value方法返回的是接口类型。

type Int16

type Int16 struct {
	IntStorage[int16]
	IntBuilder[int16]
}

Int16 用于定义int16类型的字段。

type Int32

type Int32 struct {
	IntStorage[int32]
	IntBuilder[int32]
}

Int32 用于定义int32类型的字段。

type Int64

type Int64 struct {
	IntStorage[int64]
	IntBuilder[int64]
}

Int64 用于定义int64类型的字段。

type IntBuilder

type IntBuilder[T any] struct {
	// contains filtered or unexported fields
}

IntBuilder 用于构建int类型的字段。

func (*IntBuilder[T]) AttrType

func (i *IntBuilder[T]) AttrType(dbType dialect.DbDriver) string

AttrType 获取字段的数据库中的类型名,如果返回空字符串,会出现错误。

Params:

  • dbType: 数据库类型。

Returns:

  • 字段的数据库中的类型名。

func (*IntBuilder[T]) Comment

func (i *IntBuilder[T]) Comment(comment string) *IntBuilder[T]

Comment 设置字段的注释。

Params:

  • comment: 字段的注释。

func (*IntBuilder[T]) Default

func (i *IntBuilder[T]) Default(value int) *IntBuilder[T]

Default 设置字段的默认值。 如果设置了默认值,则在插入数据时,如果没有设置字段的值,则会使用默认值。

Params:

  • value: 字段的默认值。

func (*IntBuilder[T]) Descriptor

func (i *IntBuilder[T]) Descriptor() *entity.Descriptor

Descriptor 获取字段的描述信息。

func (*IntBuilder[T]) Init

func (i *IntBuilder[T]) Init(desc *entity.Descriptor) error

Init 初始化字段的描述信息,在代码生成阶段初始化时调用。

Params:

  • desc: 字段的描述信息。

func (*IntBuilder[T]) Locked added in v0.5.0

func (i *IntBuilder[T]) Locked() *IntBuilder[T]

Locked 设置字段为只读字段。

func (*IntBuilder[T]) MinLen

func (i *IntBuilder[T]) MinLen(size int) *IntBuilder[T]

MinLen 设置字段的最小长度。

Params:

  • size: 字段的最小长度。

func (*IntBuilder[T]) Name

func (i *IntBuilder[T]) Name(name string) *IntBuilder[T]

Name 用于设置字段在数据库中的名称。

如果不设置,会默认采用`snake_case`的方式将字段名转换为数据库字段名,比如示例中的ID字段会被转换为`i_d`。

Params:

  • name: 字段在数据库中的名称。

func (*IntBuilder[T]) Primary

func (i *IntBuilder[T]) Primary(index int) *IntBuilder[T]

Primary设置字段为主键。

Params:

  • index: 主键的索引,从1开始,对于多个主键,需要设置不同大小的索引。

func (*IntBuilder[T]) Required

func (i *IntBuilder[T]) Required() *IntBuilder[T]

Required 是否非空,默认可以为null,如果调用[Required],则字段为非空字段。

func (*IntBuilder[T]) Sequence

func (i *IntBuilder[T]) Sequence(s entity.Sequence) *IntBuilder[T]

Sequence 设置字段的序列。 如果序列不存在,则会自动创建序列。 优先级高于[Default]。

Params:

  • s: 序列。

func (*IntBuilder[T]) ValueType

func (i *IntBuilder[T]) ValueType() string

ValueType 用于设置字段的值在go中类型名称。例如entity.Int64的ValueType为"int64"。

Returns:

  • 字段的值在go中类型名称。

type IntStorage

type IntStorage[T any] struct {
	// contains filtered or unexported fields
}

func (*IntStorage[T]) Get

func (i *IntStorage[T]) Get() *T

Get 获取字段的值。

func (*IntStorage[T]) Scan

func (i *IntStorage[T]) Scan(value interface{}) error

Scan 从数据库中读取字段的值。

func (*IntStorage[T]) Set

func (i *IntStorage[T]) Set(value T) error

Set 设置字段的值。

func (IntStorage[T]) String

func (i IntStorage[T]) String() string

String 返回字段的字符串表示。

func (*IntStorage[T]) Value

func (i *IntStorage[T]) Value() entity.FieldValue

Value 返回字段的值,和Get方法不同的是,Value方法返回的是接口类型。

type RawBytes

type RawBytes []byte

type Scanner

type Scanner interface {
	// Scan assigns a value from a database driver.
	//
	// The src value will be of one of the following types:
	//
	//    int64
	//    float64
	//    bool
	//    []bytetaurus_go/entity/field/field.go
	//    string
	//    time.Time
	//    nil - for NULL values
	//
	// An error should be returned if the value cannot be stored
	// without loss of information.
	//
	// Reference types such as []byte are only valid until the next call to Scan
	// and should not be retained. Their underlying memory is owned by the driver.
	// If retention is necessary, copy their values before the next call to Scan.
	Scan(src any) error
}

Scanner is an interface used by Scan.

type StringBuilder

type StringBuilder struct {
	// contains filtered or unexported fields
}

StringBuilder 字符串类型的字段构造器。

func (*StringBuilder) AttrType

func (s *StringBuilder) AttrType(dbType dialect.DbDriver) string

AttrType 获取字段的数据库中的类型名,如果返回空字符串,会出现错误。

Params:

  • dbType: 数据库类型。

Returns:

  • 字段的数据库中的类型名。

func (*StringBuilder) Comment

func (s *StringBuilder) Comment(comment string) *StringBuilder

Comment 设置字段的注释。

Params:

  • comment: 字段的注释。

func (*StringBuilder) Default

func (s *StringBuilder) Default(value string) *StringBuilder

Default 设置字段的默认值。 如果设置了默认值,则在插入数据时,如果没有设置字段的值,则会使用默认值。

Params:

  • value: 字段的默认值。

func (*StringBuilder) Descriptor

func (s *StringBuilder) Descriptor() *entity.Descriptor

Descriptor 获取字段的描述信息。

func (*StringBuilder) Init

func (s *StringBuilder) Init(desc *entity.Descriptor) error

Init 初始化字段的描述信息,在代码生成阶段初始化时调用。

Params:

  • desc: 字段的描述信息。

func (*StringBuilder) Locked added in v0.5.0

func (s *StringBuilder) Locked() *StringBuilder

Locked 设置字段为只读字段。

func (*StringBuilder) MaxLen

func (s *StringBuilder) MaxLen(i int64) *StringBuilder

MaxLen 设置字段的最大长度。

Params:

  • i: 字段的最大长度。

func (*StringBuilder) MinLen

func (s *StringBuilder) MinLen(i int) *StringBuilder

MinLen 设置字段的最小长度。

Params:

  • size: 字段的最小长度。

func (*StringBuilder) Name

func (s *StringBuilder) Name(name string) *StringBuilder

Name 用于设置字段在数据库中的名称。

如果不设置,会默认采用`snake_case`的方式将字段名转换为数据库字段名,比如示例中的ID字段会被转换为`i_d`。

Params:

  • name: 字段在数据库中的名称。

func (*StringBuilder) Primary

func (s *StringBuilder) Primary(index int) *StringBuilder

Primary设置字段为主键。

Params:

  • index: 主键的索引,从1开始,对于多个主键,需要设置不同大小的索引。

func (*StringBuilder) Required

func (s *StringBuilder) Required() *StringBuilder

Required 是否非空,默认可以为null,如果调用[Required],则字段为非空字段。

func (*StringBuilder) ValueType

func (s *StringBuilder) ValueType() string

ValueType 用于设置字段的值在go中类型名称。

Returns:

  • 字段的值在go中类型名称。

type StringStorage

type StringStorage struct {
	// contains filtered or unexported fields
}

StringStorage 字符串类型的字段存储。

func (*StringStorage) Get

func (i *StringStorage) Get() *string

Get 获取字段的值。

func (*StringStorage) Scan

func (s *StringStorage) Scan(value any) error

Scan 从数据库中读取字段的值。

func (*StringStorage) Set

func (i *StringStorage) Set(value string) error

Set 设置字段的值。

func (StringStorage) String

func (s StringStorage) String() string

String 返回字段的字符串表示。

func (*StringStorage) Value

func (s *StringStorage) Value() entity.FieldValue

Value 返回字段的值,和Get方法不同的是,Value方法返回的是接口类型。

type TimestampStorage

type TimestampStorage struct {
	// contains filtered or unexported fields
}

TimestampStorage 时间戳类型的字段存储。

func (*TimestampStorage) Get

func (t *TimestampStorage) Get() *time.Time

Get 获取字段的值。

func (*TimestampStorage) Scan

func (t *TimestampStorage) Scan(value interface{}) error

Scan 从数据库中读取字段的值。

func (*TimestampStorage) Set

func (t *TimestampStorage) Set(value time.Time) error

Set 设置字段的值。

func (TimestampStorage) String

func (t TimestampStorage) String() string

String 返回字段的字符串表示。

func (*TimestampStorage) Value

func (t *TimestampStorage) Value() entity.FieldValue

Value 返回字段的值,和Get方法不同的是,Value方法返回的是接口类型。

type Timestamptz

type Timestamptz struct {
	TimestamptzBuilder
	TimestampStorage
}

Timestamp 时间戳类型的字段。

type TimestamptzBuilder

type TimestamptzBuilder struct {
	// contains filtered or unexported fields
}

TimestamptzBuilder 时间戳类型的字段构建器。

func (*TimestamptzBuilder) AttrType

func (t *TimestamptzBuilder) AttrType(dbType dialect.DbDriver) string

AttrType 获取字段的数据库中的类型名,如果返回空字符串,会出现错误。

Params:

  • dbType: 数据库类型。

Returns:

  • 字段的数据库中的类型名。

func (*TimestamptzBuilder) Comment

func (t *TimestamptzBuilder) Comment(comment string) *TimestamptzBuilder

Comment 设置字段的注释。

Params:

  • comment: 字段的注释。

func (*TimestamptzBuilder) Default

func (t *TimestamptzBuilder) Default(value string) *TimestamptzBuilder

Default 设置字段的默认值。 如果设置了默认值,则在插入数据时,如果没有设置字段的值,则会使用默认值。

Params:

  • value: 字段的默认值。

func (*TimestamptzBuilder) Descriptor

func (t *TimestamptzBuilder) Descriptor() *entity.Descriptor

Descriptor 获取字段的描述信息。

func (*TimestamptzBuilder) Init

func (t *TimestamptzBuilder) Init(desc *entity.Descriptor) error

Init 初始化字段的描述信息,在代码生成阶段初始化时调用。

Params:

  • desc: 字段的描述信息。

func (*TimestamptzBuilder) Locked added in v0.5.0

Locked 设置字段是否为只读。

func (*TimestamptzBuilder) MinLen

func (t *TimestamptzBuilder) MinLen(size int) *TimestamptzBuilder

MinLen 设置字段的最小长度。

Params:

  • size: 字段的最小长度。

func (*TimestamptzBuilder) Name

Name 用于设置字段在数据库中的名称。

如果不设置,会默认采用`snake_case`的方式将字段名转换为数据库字段名,比如示例中的ID字段会被转换为`i_d`。

Params:

  • name: 字段在数据库中的名称。

func (*TimestamptzBuilder) Precision

func (t *TimestamptzBuilder) Precision(precision int) *TimestamptzBuilder

Precision 设置时间精度。

func (*TimestamptzBuilder) Primary

func (t *TimestamptzBuilder) Primary(index int) *TimestamptzBuilder

Primary设置字段为主键。

Params:

  • index: 主键的索引,从1开始,对于多个主键,需要设置不同大小的索引。

func (*TimestamptzBuilder) Required

func (t *TimestamptzBuilder) Required() *TimestamptzBuilder

Required 是否非空,默认可以为null,如果调用[Required],则字段为非空字段。

func (*TimestamptzBuilder) ValueType

func (t *TimestamptzBuilder) ValueType() string

ValueType 用于设置字段的值在go中类型名称。例如entity.Int64的ValueType为"int64"。

Returns:

  • 字段的值在go中类型名称。

type UUID

type UUID struct {
	UUIDBuilder
	StringStorage
}

UUID UUID类型的字段。

func (*UUID) Comment

func (u *UUID) Comment(comment string) *UUID

Comment 设置字段的注释。

Params:

  • comment: 字段的注释。

func (*UUID) Default

func (u *UUID) Default(value string) *UUID

Default 设置字段的默认值。 如果设置了默认值,则在插入数据时,如果没有设置字段的值,则会使用默认值。

Params:

  • value: 字段的默认值。

func (*UUID) Locked added in v0.5.0

func (u *UUID) Locked() *UUID

Locked 设置字段为只读字段。

func (*UUID) Name

func (u *UUID) Name(name string) *UUID

Name 用于设置字段在数据库中的名称。

如果不设置,会默认采用`snake_case`的方式将字段名转换为数据库字段名,比如示例中的ID字段会被转换为`i_d`。

Params:

  • name: 字段在数据库中的名称。

func (*UUID) Primary

func (u *UUID) Primary(index int) *UUID

Primary设置字段为主键。

Params:

  • index: 主键的索引,从1开始,对于多个主键,需要设置不同大小的索引。

func (*UUID) Required

func (u *UUID) Required() *UUID

Required 是否非空,默认可以为null,如果调用[Required],则字段为非空字段。

func (*UUID) ValueType

func (s *UUID) ValueType() string

ValueType 用于设置字段的值在go中类型名称。例如entity.Int64的ValueType为"int64"。

Returns:

  • 字段的值在go中类型名称。

type UUIDBuilder

type UUIDBuilder struct {
	// contains filtered or unexported fields
}

UUIDBuilder UUID类型的字段构造器。

func (*UUIDBuilder) AttrType

func (u *UUIDBuilder) AttrType(dbType dialect.DbDriver) string

AttrType 获取字段的数据库中的类型名,如果返回空字符串,会出现错误。

Params:

  • dbType: 数据库类型。

Returns:

  • 字段的数据库中的类型名。

func (*UUIDBuilder) Descriptor

func (u *UUIDBuilder) Descriptor() *entity.Descriptor

Descriptor 获取字段的描述信息。

func (*UUIDBuilder) Init

func (u *UUIDBuilder) Init(desc *entity.Descriptor) error

Init 初始化字段的描述信息,在代码生成阶段初始化时调用。

Params:

  • desc: 字段的描述信息。

type Varchar added in v0.5.0

type Varchar struct {
	StringBuilder
	StringStorage
}

Varchar 字符串类型的字段。

Jump to

Keyboard shortcuts

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