schema

package
v0.0.0-...-60a21d4 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Blueprint

type Blueprint interface {
	Get() *Table
	GetName() string
	GetPrefix() string
	GetFullName() string
	GetColumnNames() []string
	GetColumns() map[string]*Column
	GetIndexNames() []string
	GetIndexes() map[string]*Index

	GetColumn(name string) *Column
	HasColumn(name ...string) bool
	RenameColumn(old string, new string) *Column
	DropColumn(name ...string)

	GetPrimary() *Primary
	AddPrimary(columnName ...string)
	DropPrimary()

	GetIndex(name string) *Index
	HasIndex(name ...string) bool
	AddIndex(name string, columnNames ...string) *Table
	AddUnique(name string, columnNames ...string) *Table
	AddFulltext(name string, columnNames ...string) *Table
	RenameIndex(old string, new string) *Index
	DropIndex(name ...string)

	String(name string, args ...int) *Column
	Char(name string, args ...int) *Column
	Text(name string) *Column
	MediumText(name string) *Column
	LongText(name string) *Column

	Binary(name string, args ...int) *Column

	Date(name string) *Column
	DateTime(name string, args ...int) *Column
	DateTimeTz(name string, args ...int) *Column
	Time(name string, args ...int) *Column
	TimeTz(name string, args ...int) *Column
	Timestamp(name string, args ...int) *Column
	TimestampTz(name string, args ...int) *Column

	TinyInteger(name string) *Column
	UnsignedTinyInteger(name string) *Column
	TinyIncrements(name string) *Column

	SmallInteger(name string) *Column
	UnsignedSmallInteger(name string) *Column
	SmallIncrements(name string) *Column

	Integer(name string) *Column
	UnsignedInteger(name string) *Column
	Increments(name string) *Column

	BigInteger(name string) *Column
	UnsignedBigInteger(name string) *Column
	BigIncrements(name string) *Column
	ID(name string) *Column
	ForeignID(name string) *Column

	Decimal(name string, args ...int) *Column
	UnsignedDecimal(name string, args ...int) *Column

	Float(name string, args ...int) *Column
	UnsignedFloat(name string, args ...int) *Column

	Double(name string, args ...int) *Column
	UnsignedDouble(name string, args ...int) *Column

	Boolean(name string) *Column
	Enum(name string, option []string) *Column

	JSON(name string) *Column
	JSONB(name string) *Column

	UUID(name string) *Column
	IPAddress(name string) *Column
	MACAddress(name string) *Column
	Year(name string) *Column

	Timestamps(args ...int) map[string]*Column
	TimestampsTz(args ...int) map[string]*Column
	DropTimestamps()
	DropTimestampsTz()

	SoftDeletes(args ...int) *Column
	SoftDeletesTz(args ...int) *Column
	DropSoftDeletes()
	DropSoftDeletesTz()
}

type Builder

type Builder struct {
	Conn     *Connection
	Mode     string
	Database string
	Schema   string
	dbal.Grammar
}

func (*Builder) AlterTable

func (builder *Builder) AlterTable(name string, callback func(table Blueprint)) error

func (*Builder) Builder

func (builder *Builder) Builder() *Builder

func (*Builder) CreateTable

func (builder *Builder) CreateTable(name string, callback func(table Blueprint)) error

func (*Builder) DB

func (builder *Builder) DB() *sqlx.DB

func (*Builder) DropTable

func (builder *Builder) DropTable(name string) error

func (*Builder) DropTableIfExists

func (builder *Builder) DropTableIfExists(name string) error

func (*Builder) GetConnection

func (builder *Builder) GetConnection() (*dbal.Connection, error)

func (*Builder) GetDB

func (builder *Builder) GetDB() (*sqlx.DB, error)

func (*Builder) GetTable

func (builder *Builder) GetTable(name string) (Blueprint, error)

func (*Builder) GetTables

func (builder *Builder) GetTables() ([]string, error)

func (*Builder) GetVersion

func (builder *Builder) GetVersion() (*dbal.Version, error)

func (*Builder) HasTable

func (builder *Builder) HasTable(name string) (bool, error)

func (*Builder) MustAlterTable

func (builder *Builder) MustAlterTable(name string, callback func(table Blueprint))

func (*Builder) MustCreateTable

func (builder *Builder) MustCreateTable(name string, callback func(table Blueprint))

func (*Builder) MustDropTable

func (builder *Builder) MustDropTable(name string)

func (*Builder) MustDropTableIfExists

func (builder *Builder) MustDropTableIfExists(name string)

func (*Builder) MustGetConnection

func (builder *Builder) MustGetConnection() *dbal.Connection

func (*Builder) MustGetDB

func (builder *Builder) MustGetDB() *sqlx.DB

func (*Builder) MustGetTable

func (builder *Builder) MustGetTable(name string) Blueprint

func (*Builder) MustGetTables

func (builder *Builder) MustGetTables() []string

func (*Builder) MustGetVersion

func (builder *Builder) MustGetVersion() *dbal.Version

func (*Builder) MustHasTable

func (builder *Builder) MustHasTable(name string) bool

func (*Builder) MustRenameTable

func (builder *Builder) MustRenameTable(old string, new string) Blueprint

func (*Builder) RenameTable

func (builder *Builder) RenameTable(old string, new string) error

func (*Builder) SetOption

func (builder *Builder) SetOption(option *dbal.Option)

type Column

type Column struct {
	*dbal.Column
	Table *Table
}

func (*Column) AutoIncrement

func (column *Column) AutoIncrement() *Column

func (*Column) HasIndex

func (column *Column) HasIndex(name string) bool

func (*Column) Index

func (column *Column) Index() *Column

func (*Column) NotNull

func (column *Column) NotNull() *Column

func (*Column) Null

func (column *Column) Null() *Column

func (*Column) Primary

func (column *Column) Primary() *Column

func (*Column) SetComment

func (column *Column) SetComment(comment string) *Column

func (*Column) SetDateTimePrecision

func (column *Column) SetDateTimePrecision(precision int) *Column

func (*Column) SetDefault

func (column *Column) SetDefault(v interface{}) *Column

func (*Column) SetDefaultRaw

func (column *Column) SetDefaultRaw(v string) *Column

func (*Column) SetLength

func (column *Column) SetLength(length int) *Column

func (*Column) SetPrecision

func (column *Column) SetPrecision(precision int) *Column

func (*Column) SetScale

func (column *Column) SetScale(scale int) *Column

func (*Column) SetType

func (column *Column) SetType(typ string) *Column

func (*Column) Unique

func (column *Column) Unique() *Column

func (*Column) Unsigned

func (column *Column) Unsigned() *Column

type Connection

type Connection struct {
	Write       *sqlx.DB
	WriteConfig *dbal.Config
	Option      *dbal.Option
	Version     *dbal.Version
}

type Index

type Index struct {
	*dbal.Index
	Table *Table
}

type Primary

type Primary struct {
	*dbal.Primary
	Table *Table
}

type Schema

type Schema interface {
	SetOption(option *dbal.Option)

	Builder() *Builder
	GetConnection() (*dbal.Connection, error)
	GetDB() (*sqlx.DB, error)
	GetVersion() (*dbal.Version, error)

	GetTables() ([]string, error)

	GetTable(name string) (Blueprint, error)
	CreateTable(name string, createFunc func(table Blueprint)) error
	DropTable(name string) error
	AlterTable(name string, alterFunc func(table Blueprint)) error
	HasTable(name string) (bool, error)
	RenameTable(old string, new string) error
	DropTableIfExists(name string) error

	MustGetConnection() *dbal.Connection
	MustGetDB() *sqlx.DB
	MustGetVersion() *dbal.Version

	MustGetTables() []string

	MustGetTable(name string) Blueprint
	MustCreateTable(name string, createFunc func(table Blueprint))
	MustDropTable(name string)
	MustAlterTable(name string, alterFunc func(table Blueprint))
	MustHasTable(name string) bool
	MustRenameTable(old string, new string) Blueprint
	MustDropTableIfExists(name string)

	DB() *sqlx.DB
}

func New

func New(driver string, dsn string) Schema

func Use

func Use(conn *Connection) Schema

type Table

type Table struct {
	*dbal.Table
	*Builder
	*Primary
	ColumnNames []string
	ColumnMap   map[string]*Column
	IndexNames  []string
	IndexMap    map[string]*Index
	Name        string
	Prefix      string
}

func NewTable

func NewTable(name string, builder *Builder) *Table

func (*Table) AddFulltext

func (table *Table) AddFulltext(key string, columnNames ...string) *Table

func (*Table) AddIndex

func (table *Table) AddIndex(key string, columnNames ...string) *Table

func (*Table) AddPrimary

func (table *Table) AddPrimary(columnNames ...string)

func (*Table) AddUnique

func (table *Table) AddUnique(key string, columnNames ...string) *Table

func (*Table) BigIncrements

func (table *Table) BigIncrements(name string) *Column

func (*Table) BigInteger

func (table *Table) BigInteger(name string) *Column

func (*Table) Binary

func (table *Table) Binary(name string, args ...int) *Column

func (*Table) Boolean

func (table *Table) Boolean(name string) *Column

func (*Table) Char

func (table *Table) Char(name string, args ...int) *Column

func (*Table) Date

func (table *Table) Date(name string) *Column

func (*Table) DateTime

func (table *Table) DateTime(name string, args ...int) *Column

func (*Table) DateTimeTz

func (table *Table) DateTimeTz(name string, args ...int) *Column

func (*Table) Decimal

func (table *Table) Decimal(name string, args ...int) *Column

func (*Table) Double

func (table *Table) Double(name string, args ...int) *Column

func (*Table) DropColumn

func (table *Table) DropColumn(name ...string)

func (*Table) DropIndex

func (table *Table) DropIndex(key ...string)

func (*Table) DropPrimary

func (table *Table) DropPrimary()

func (*Table) DropSoftDeletes

func (table *Table) DropSoftDeletes()

func (*Table) DropSoftDeletesTz

func (table *Table) DropSoftDeletesTz()

func (*Table) DropTimestamps

func (table *Table) DropTimestamps()

func (*Table) DropTimestampsTz

func (table *Table) DropTimestampsTz()

func (*Table) Enum

func (table *Table) Enum(name string, option []string) *Column

func (*Table) Float

func (table *Table) Float(name string, args ...int) *Column

func (*Table) ForeignID

func (table *Table) ForeignID(name string) *Column

func (*Table) Get

func (table *Table) Get() *Table

func (*Table) GetColumn

func (table *Table) GetColumn(name string) *Column

func (*Table) GetColumnNames

func (table *Table) GetColumnNames() []string

func (*Table) GetColumns

func (table *Table) GetColumns() map[string]*Column

func (*Table) GetFullName

func (table *Table) GetFullName() string

func (*Table) GetIndex

func (table *Table) GetIndex(name string) *Index

func (*Table) GetIndexNames

func (table *Table) GetIndexNames() []string

func (*Table) GetIndexes

func (table *Table) GetIndexes() map[string]*Index

func (*Table) GetName

func (table *Table) GetName() string

func (*Table) GetPrefix

func (table *Table) GetPrefix() string

func (*Table) GetPrimary

func (table *Table) GetPrimary() *Primary

func (*Table) HasColumn

func (table *Table) HasColumn(name ...string) bool

func (*Table) HasIndex

func (table *Table) HasIndex(name ...string) bool

func (*Table) ID

func (table *Table) ID(name string) *Column

func (*Table) IPAddress

func (table *Table) IPAddress(name string) *Column

func (*Table) Increments

func (table *Table) Increments(name string) *Column

func (*Table) Integer

func (table *Table) Integer(name string) *Column

func (*Table) JSON

func (table *Table) JSON(name string) *Column

func (*Table) JSONB

func (table *Table) JSONB(name string) *Column

func (*Table) LongText

func (table *Table) LongText(name string) *Column

func (*Table) MACAddress

func (table *Table) MACAddress(name string) *Column

func (*Table) MediumText

func (table *Table) MediumText(name string) *Column

func (*Table) RenameColumn

func (table *Table) RenameColumn(old string, new string) *Column

func (*Table) RenameIndex

func (table *Table) RenameIndex(old string, new string) *Index

func (*Table) SmallIncrements

func (table *Table) SmallIncrements(name string) *Column

func (*Table) SmallInteger

func (table *Table) SmallInteger(name string) *Column

func (*Table) SoftDeletes

func (table *Table) SoftDeletes(args ...int) *Column

func (*Table) SoftDeletesTz

func (table *Table) SoftDeletesTz(args ...int) *Column

func (*Table) String

func (table *Table) String(name string, args ...int) *Column

func (*Table) Text

func (table *Table) Text(name string) *Column

func (*Table) Time

func (table *Table) Time(name string, args ...int) *Column

func (*Table) TimeTz

func (table *Table) TimeTz(name string, args ...int) *Column

func (*Table) Timestamp

func (table *Table) Timestamp(name string, args ...int) *Column

func (*Table) TimestampTz

func (table *Table) TimestampTz(name string, args ...int) *Column

func (*Table) Timestamps

func (table *Table) Timestamps(args ...int) map[string]*Column

func (*Table) TimestampsTz

func (table *Table) TimestampsTz(args ...int) map[string]*Column

func (*Table) TinyIncrements

func (table *Table) TinyIncrements(name string) *Column

func (*Table) TinyInteger

func (table *Table) TinyInteger(name string) *Column

func (*Table) UUID

func (table *Table) UUID(name string) *Column

func (*Table) UnsignedBigInteger

func (table *Table) UnsignedBigInteger(name string) *Column

func (*Table) UnsignedDecimal

func (table *Table) UnsignedDecimal(name string, args ...int) *Column

func (*Table) UnsignedDouble

func (table *Table) UnsignedDouble(name string, args ...int) *Column

func (*Table) UnsignedFloat

func (table *Table) UnsignedFloat(name string, args ...int) *Column

func (*Table) UnsignedInteger

func (table *Table) UnsignedInteger(name string) *Column

func (*Table) UnsignedSmallInteger

func (table *Table) UnsignedSmallInteger(name string) *Column

func (*Table) UnsignedTinyInteger

func (table *Table) UnsignedTinyInteger(name string) *Column

func (*Table) Year

func (table *Table) Year(name string) *Column

Jump to

Keyboard shortcuts

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