schema

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2025 License: MIT Imports: 16 Imported by: 5

Documentation

Index

Constants

View Source
const (
	CommandAdd          = "add"
	CommandComment      = "comment"
	CommandCreate       = "create"
	CommandDefault      = "default"
	CommandDrop         = "drop"
	CommandDropColumn   = "dropColumn"
	CommandDropForeign  = "dropForeign"
	CommandDropFullText = "dropFullText"
	CommandDropIfExists = "dropIfExists"
	CommandDropIndex    = "dropIndex"
	CommandDropPrimary  = "dropPrimary"
	CommandDropUnique   = "dropUnique"
	CommandForeign      = "foreign"
	CommandFullText     = "fullText"
	CommandIndex        = "index"
	CommandPrimary      = "primary"
	CommandRename       = "rename"
	CommandRenameColumn = "renameColumn"
	CommandRenameIndex  = "renameIndex"
	CommandTableComment = "tableComment"
	CommandUnique       = "unique"
	DefaultStringLength = 255
	DefaultUlidLength   = 26
)

Variables

This section is empty.

Functions

func ColumnDefaultValue added in v1.15.12

func ColumnDefaultValue(def any) string

func ColumnType added in v1.15.12

func ColumnType(grammar driver.Grammar, column driver.ColumnDefinition) string

func MorphUsingInts added in v1.15.12

func MorphUsingInts()

MorphUsingInts sets the default morph key type to int (default)

func MorphUsingUlids added in v1.15.12

func MorphUsingUlids()

MorphUsingUlids sets the default morph key type to ULID

func MorphUsingUuids added in v1.15.12

func MorphUsingUuids()

MorphUsingUuids sets the default morph key type to UUID

func NewColumnDefinition added in v1.15.12

func NewColumnDefinition(name string, ttype string) driver.ColumnDefinition

func NewForeignKeyDefinition

func NewForeignKeyDefinition(command *driver.Command) schema.ForeignKeyDefinition

func NewIndexDefinition

func NewIndexDefinition(command *driver.Command) schema.IndexDefinition

func SetDefaultMorphKeyType added in v1.15.12

func SetDefaultMorphKeyType(keyType MorphKeyType)

SetDefaultMorphKeyType sets the default morph key type

Types

type Blueprint

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

func NewBlueprint

func NewBlueprint(schema schema.Schema, prefix, table string) *Blueprint

func (*Blueprint) BigIncrements

func (r *Blueprint) BigIncrements(column string) driver.ColumnDefinition

func (*Blueprint) BigInteger

func (r *Blueprint) BigInteger(column string) driver.ColumnDefinition

func (*Blueprint) Boolean added in v1.15.3

func (r *Blueprint) Boolean(column string) driver.ColumnDefinition

func (*Blueprint) Build

func (r *Blueprint) Build(query orm.Query, grammar driver.Grammar) error

func (*Blueprint) Char

func (r *Blueprint) Char(column string, length ...int) driver.ColumnDefinition

func (*Blueprint) Column added in v1.15.3

func (r *Blueprint) Column(column, ttype string) driver.ColumnDefinition

func (*Blueprint) Comment added in v1.15.12

func (r *Blueprint) Comment(comment string)

func (*Blueprint) Create

func (r *Blueprint) Create()

func (*Blueprint) Date

func (r *Blueprint) Date(column string) driver.ColumnDefinition

func (*Blueprint) DateTime

func (r *Blueprint) DateTime(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) DateTimeTz

func (r *Blueprint) DateTimeTz(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) Decimal

func (r *Blueprint) Decimal(column string) driver.ColumnDefinition

func (*Blueprint) Double

func (r *Blueprint) Double(column string) driver.ColumnDefinition

func (*Blueprint) Drop

func (r *Blueprint) Drop()

func (*Blueprint) DropColumn

func (r *Blueprint) DropColumn(column ...string)

func (*Blueprint) DropForeign

func (r *Blueprint) DropForeign(column ...string)

func (*Blueprint) DropForeignByName

func (r *Blueprint) DropForeignByName(name string)

func (*Blueprint) DropFullText

func (r *Blueprint) DropFullText(column ...string)

func (*Blueprint) DropFullTextByName

func (r *Blueprint) DropFullTextByName(name string)

func (*Blueprint) DropIfExists

func (r *Blueprint) DropIfExists()

func (*Blueprint) DropIndex

func (r *Blueprint) DropIndex(column ...string)

func (*Blueprint) DropIndexByName

func (r *Blueprint) DropIndexByName(name string)

func (*Blueprint) DropPrimary

func (r *Blueprint) DropPrimary(column ...string)

func (*Blueprint) DropSoftDeletes

func (r *Blueprint) DropSoftDeletes(column ...string)

func (*Blueprint) DropSoftDeletesTz

func (r *Blueprint) DropSoftDeletesTz(column ...string)

func (*Blueprint) DropTimestamps

func (r *Blueprint) DropTimestamps()

func (*Blueprint) DropTimestampsTz

func (r *Blueprint) DropTimestampsTz()

func (*Blueprint) DropUnique

func (r *Blueprint) DropUnique(column ...string)

func (*Blueprint) DropUniqueByName

func (r *Blueprint) DropUniqueByName(name string)

func (*Blueprint) Enum

func (r *Blueprint) Enum(column string, allowed []any) driver.ColumnDefinition

func (*Blueprint) Float

func (r *Blueprint) Float(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) Foreign

func (r *Blueprint) Foreign(column ...string) schema.ForeignKeyDefinition

func (*Blueprint) FullText

func (r *Blueprint) FullText(column ...string) schema.IndexDefinition

func (*Blueprint) GetAddedColumns

func (r *Blueprint) GetAddedColumns() []driver.ColumnDefinition

func (*Blueprint) GetCommands

func (r *Blueprint) GetCommands() []*driver.Command

func (*Blueprint) GetTableName

func (r *Blueprint) GetTableName() string

func (*Blueprint) HasCommand

func (r *Blueprint) HasCommand(command string) bool

func (*Blueprint) ID

func (r *Blueprint) ID(column ...string) driver.ColumnDefinition

func (*Blueprint) Increments

func (r *Blueprint) Increments(column string) driver.ColumnDefinition

func (*Blueprint) Index

func (r *Blueprint) Index(column ...string) schema.IndexDefinition

func (*Blueprint) Integer

func (r *Blueprint) Integer(column string) driver.ColumnDefinition

func (*Blueprint) IntegerIncrements

func (r *Blueprint) IntegerIncrements(column string) driver.ColumnDefinition

func (*Blueprint) Json

func (r *Blueprint) Json(column string) driver.ColumnDefinition

func (*Blueprint) Jsonb

func (r *Blueprint) Jsonb(column string) driver.ColumnDefinition

func (*Blueprint) LongText

func (r *Blueprint) LongText(column string) driver.ColumnDefinition

func (*Blueprint) MediumIncrements

func (r *Blueprint) MediumIncrements(column string) driver.ColumnDefinition

func (*Blueprint) MediumInteger

func (r *Blueprint) MediumInteger(column string) driver.ColumnDefinition

func (*Blueprint) MediumText

func (r *Blueprint) MediumText(column string) driver.ColumnDefinition

func (*Blueprint) Morphs added in v1.15.12

func (r *Blueprint) Morphs(name string, indexName ...string)

func (*Blueprint) NullableMorphs added in v1.15.12

func (r *Blueprint) NullableMorphs(name string, indexName ...string)

func (*Blueprint) NumericMorphs added in v1.15.12

func (r *Blueprint) NumericMorphs(name string, indexName ...string)

func (*Blueprint) Primary

func (r *Blueprint) Primary(column ...string)

func (*Blueprint) Rename

func (r *Blueprint) Rename(to string)

func (*Blueprint) RenameColumn added in v1.15.12

func (r *Blueprint) RenameColumn(from, to string)

func (*Blueprint) RenameIndex

func (r *Blueprint) RenameIndex(from, to string)

func (*Blueprint) SetTable

func (r *Blueprint) SetTable(name string)

func (*Blueprint) SmallIncrements

func (r *Blueprint) SmallIncrements(column string) driver.ColumnDefinition

func (*Blueprint) SmallInteger

func (r *Blueprint) SmallInteger(column string) driver.ColumnDefinition

func (*Blueprint) SoftDeletes

func (r *Blueprint) SoftDeletes(column ...string) driver.ColumnDefinition

func (*Blueprint) SoftDeletesTz

func (r *Blueprint) SoftDeletesTz(column ...string) driver.ColumnDefinition

func (*Blueprint) String

func (r *Blueprint) String(column string, length ...int) driver.ColumnDefinition

func (*Blueprint) Text

func (r *Blueprint) Text(column string) driver.ColumnDefinition

func (*Blueprint) Time

func (r *Blueprint) Time(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) TimeTz

func (r *Blueprint) TimeTz(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) Timestamp

func (r *Blueprint) Timestamp(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) TimestampTz

func (r *Blueprint) TimestampTz(column string, precision ...int) driver.ColumnDefinition

func (*Blueprint) Timestamps

func (r *Blueprint) Timestamps(precision ...int)

func (*Blueprint) TimestampsTz

func (r *Blueprint) TimestampsTz(precision ...int)

func (*Blueprint) TinyIncrements

func (r *Blueprint) TinyIncrements(column string) driver.ColumnDefinition

func (*Blueprint) TinyInteger

func (r *Blueprint) TinyInteger(column string) driver.ColumnDefinition

func (*Blueprint) TinyText

func (r *Blueprint) TinyText(column string) driver.ColumnDefinition

func (*Blueprint) ToSql

func (r *Blueprint) ToSql(grammar driver.Grammar) ([]string, error)

func (*Blueprint) Ulid added in v1.15.12

func (r *Blueprint) Ulid(column string, length ...int) driver.ColumnDefinition

func (*Blueprint) UlidMorphs added in v1.15.12

func (r *Blueprint) UlidMorphs(name string, indexName ...string)

func (*Blueprint) Unique

func (r *Blueprint) Unique(column ...string) schema.IndexDefinition

func (*Blueprint) UnsignedBigInteger

func (r *Blueprint) UnsignedBigInteger(column string) driver.ColumnDefinition

func (*Blueprint) UnsignedInteger

func (r *Blueprint) UnsignedInteger(column string) driver.ColumnDefinition

func (*Blueprint) UnsignedMediumInteger

func (r *Blueprint) UnsignedMediumInteger(column string) driver.ColumnDefinition

func (*Blueprint) UnsignedSmallInteger

func (r *Blueprint) UnsignedSmallInteger(column string) driver.ColumnDefinition

func (*Blueprint) UnsignedTinyInteger

func (r *Blueprint) UnsignedTinyInteger(column string) driver.ColumnDefinition

func (*Blueprint) Uuid added in v1.15.12

func (r *Blueprint) Uuid(column string) driver.ColumnDefinition

func (*Blueprint) UuidMorphs added in v1.15.12

func (r *Blueprint) UuidMorphs(name string, indexName ...string)

type ColumnDefinition

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

func (*ColumnDefinition) After added in v1.15.12

func (*ColumnDefinition) Always added in v1.15.12

func (*ColumnDefinition) AutoIncrement

func (r *ColumnDefinition) AutoIncrement() driver.ColumnDefinition

func (*ColumnDefinition) Change added in v1.15.12

func (*ColumnDefinition) Comment

func (r *ColumnDefinition) Comment(comment string) driver.ColumnDefinition

func (*ColumnDefinition) Default

func (r *ColumnDefinition) Default(def any) driver.ColumnDefinition

func (*ColumnDefinition) First added in v1.15.12

func (*ColumnDefinition) GeneratedAs added in v1.15.12

func (r *ColumnDefinition) GeneratedAs(expression ...string) driver.ColumnDefinition

func (*ColumnDefinition) GetAfter added in v1.15.12

func (r *ColumnDefinition) GetAfter() string

func (*ColumnDefinition) GetAllowed

func (r *ColumnDefinition) GetAllowed() []any

func (*ColumnDefinition) GetAutoIncrement

func (r *ColumnDefinition) GetAutoIncrement() bool

func (*ColumnDefinition) GetComment

func (r *ColumnDefinition) GetComment() string

func (*ColumnDefinition) GetDefault

func (r *ColumnDefinition) GetDefault() any

func (*ColumnDefinition) GetGeneratedAs added in v1.15.12

func (r *ColumnDefinition) GetGeneratedAs() string

func (*ColumnDefinition) GetLength

func (r *ColumnDefinition) GetLength() int

func (*ColumnDefinition) GetName

func (r *ColumnDefinition) GetName() string

func (*ColumnDefinition) GetNullable

func (r *ColumnDefinition) GetNullable() bool

func (*ColumnDefinition) GetOnUpdate

func (r *ColumnDefinition) GetOnUpdate() any

func (*ColumnDefinition) GetPlaces

func (r *ColumnDefinition) GetPlaces() int

func (*ColumnDefinition) GetPrecision

func (r *ColumnDefinition) GetPrecision() int

func (*ColumnDefinition) GetTotal

func (r *ColumnDefinition) GetTotal() int

func (*ColumnDefinition) GetType

func (r *ColumnDefinition) GetType() string

func (*ColumnDefinition) GetUnsigned

func (r *ColumnDefinition) GetUnsigned() bool

func (*ColumnDefinition) GetUseCurrent

func (r *ColumnDefinition) GetUseCurrent() bool

func (*ColumnDefinition) GetUseCurrentOnUpdate

func (r *ColumnDefinition) GetUseCurrentOnUpdate() bool

func (*ColumnDefinition) IsAlways added in v1.15.12

func (r *ColumnDefinition) IsAlways() bool

func (*ColumnDefinition) IsChange added in v1.15.12

func (r *ColumnDefinition) IsChange() bool

func (*ColumnDefinition) IsFirst added in v1.15.12

func (r *ColumnDefinition) IsFirst() bool

func (*ColumnDefinition) IsSetComment

func (r *ColumnDefinition) IsSetComment() bool

func (*ColumnDefinition) IsSetGeneratedAs added in v1.15.12

func (r *ColumnDefinition) IsSetGeneratedAs() bool

func (*ColumnDefinition) Nullable

func (*ColumnDefinition) OnUpdate

func (r *ColumnDefinition) OnUpdate(value any) driver.ColumnDefinition

func (*ColumnDefinition) Places

func (r *ColumnDefinition) Places(places int) driver.ColumnDefinition

func (*ColumnDefinition) Total

func (r *ColumnDefinition) Total(total int) driver.ColumnDefinition

func (*ColumnDefinition) Unsigned

func (*ColumnDefinition) UseCurrent

func (r *ColumnDefinition) UseCurrent() driver.ColumnDefinition

func (*ColumnDefinition) UseCurrentOnUpdate

func (r *ColumnDefinition) UseCurrentOnUpdate() driver.ColumnDefinition

type Expression added in v1.15.12

type Expression string

type ForeignKeyDefinition

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

func (*ForeignKeyDefinition) CascadeOnDelete

func (r *ForeignKeyDefinition) CascadeOnDelete() schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) CascadeOnUpdate

func (r *ForeignKeyDefinition) CascadeOnUpdate() schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) Name

func (*ForeignKeyDefinition) NoActionOnDelete

func (r *ForeignKeyDefinition) NoActionOnDelete() schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) NoActionOnUpdate

func (r *ForeignKeyDefinition) NoActionOnUpdate() schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) NullOnDelete

func (*ForeignKeyDefinition) On

func (*ForeignKeyDefinition) References

func (r *ForeignKeyDefinition) References(columns ...string) schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) RestrictOnDelete

func (r *ForeignKeyDefinition) RestrictOnDelete() schema.ForeignKeyDefinition

func (*ForeignKeyDefinition) RestrictOnUpdate

func (r *ForeignKeyDefinition) RestrictOnUpdate() schema.ForeignKeyDefinition

type IndexDefinition

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

func (*IndexDefinition) Algorithm

func (r *IndexDefinition) Algorithm(algorithm string) schema.IndexDefinition

func (*IndexDefinition) Deferrable

func (r *IndexDefinition) Deferrable() schema.IndexDefinition

func (*IndexDefinition) InitiallyImmediate

func (r *IndexDefinition) InitiallyImmediate() schema.IndexDefinition

func (*IndexDefinition) Language

func (r *IndexDefinition) Language(name string) schema.IndexDefinition

func (*IndexDefinition) Name

type MorphKeyType added in v1.15.12

type MorphKeyType string

MorphKeyType represents the type of key used for morph relationships

const (
	MorphKeyTypeInt  MorphKeyType = "int"
	MorphKeyTypeUuid MorphKeyType = "uuid"
	MorphKeyTypeUlid MorphKeyType = "ulid"
)

func GetDefaultMorphKeyType added in v1.15.12

func GetDefaultMorphKeyType() MorphKeyType

GetDefaultMorphKeyType returns the current default morph key type

type Schema

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

func NewSchema

func NewSchema(config config.Config, log log.Log, orm contractsorm.Orm, driver driver.Driver, migrations []contractsschema.Migration) (*Schema, error)

func (*Schema) Connection

func (r *Schema) Connection(name string) contractsschema.Schema

func (*Schema) Create

func (r *Schema) Create(table string, callback func(table contractsschema.Blueprint)) error

func (*Schema) Drop

func (r *Schema) Drop(table string) error

func (*Schema) DropAllTables added in v1.15.12

func (r *Schema) DropAllTables() error

func (*Schema) DropAllTypes added in v1.15.12

func (r *Schema) DropAllTypes() error

func (*Schema) DropAllViews added in v1.15.12

func (r *Schema) DropAllViews() error

func (*Schema) DropColumns

func (r *Schema) DropColumns(table string, columns []string) error

func (*Schema) DropIfExists

func (r *Schema) DropIfExists(table string) error

func (*Schema) Extend added in v1.15.12

func (*Schema) GetColumnListing

func (r *Schema) GetColumnListing(table string) []string

func (*Schema) GetColumns added in v1.15.12

func (r *Schema) GetColumns(table string) ([]driver.Column, error)

func (*Schema) GetConnection

func (r *Schema) GetConnection() string

func (*Schema) GetForeignKeys

func (r *Schema) GetForeignKeys(table string) ([]driver.ForeignKey, error)

func (*Schema) GetIndexListing

func (r *Schema) GetIndexListing(table string) []string

func (*Schema) GetIndexes added in v1.15.12

func (r *Schema) GetIndexes(table string) ([]driver.Index, error)

func (*Schema) GetTableListing

func (r *Schema) GetTableListing() []string

func (*Schema) GetTables added in v1.15.12

func (r *Schema) GetTables() ([]driver.Table, error)

func (*Schema) GetTypes added in v1.15.12

func (r *Schema) GetTypes() ([]driver.Type, error)

func (*Schema) GetViews added in v1.15.12

func (r *Schema) GetViews() ([]driver.View, error)

func (*Schema) GoTypes added in v1.15.12

func (r *Schema) GoTypes() []contractsschema.GoType

func (*Schema) HasColumn

func (r *Schema) HasColumn(table, column string) bool

func (*Schema) HasColumns

func (r *Schema) HasColumns(table string, columns []string) bool

func (*Schema) HasIndex

func (r *Schema) HasIndex(table, index string) bool

func (*Schema) HasTable

func (r *Schema) HasTable(name string) bool

func (*Schema) HasType

func (r *Schema) HasType(name string) bool

func (*Schema) HasView

func (r *Schema) HasView(name string) bool

func (*Schema) Migrations

func (r *Schema) Migrations() []contractsschema.Migration

func (*Schema) Orm

func (r *Schema) Orm() contractsorm.Orm

func (*Schema) Prune added in v1.15.12

func (r *Schema) Prune() error

func (*Schema) Register

func (r *Schema) Register(migrations []contractsschema.Migration)

func (*Schema) Rename

func (r *Schema) Rename(from, to string) error

func (*Schema) SetConnection

func (r *Schema) SetConnection(name string)

func (*Schema) Sql

func (r *Schema) Sql(sql string) error

func (*Schema) Table

func (r *Schema) Table(table string, callback func(table contractsschema.Blueprint)) error

type Wrap added in v1.15.12

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

func NewWrap added in v1.15.12

func NewWrap(prefix string) *Wrap

func (*Wrap) Column added in v1.15.12

func (r *Wrap) Column(column string) string

func (*Wrap) Columnize added in v1.15.12

func (r *Wrap) Columnize(columns []string) string

func (*Wrap) Columns added in v1.15.12

func (r *Wrap) Columns(columns []string) []string

func (*Wrap) GetPrefix added in v1.15.12

func (r *Wrap) GetPrefix() string

func (*Wrap) JsonFieldAndPath added in v1.15.12

func (r *Wrap) JsonFieldAndPath(column string) (string, string)

func (*Wrap) JsonPath added in v1.15.12

func (r *Wrap) JsonPath(value string) string

func (*Wrap) JsonPathAttributes added in v1.15.12

func (r *Wrap) JsonPathAttributes(path []string, quoter ...string) []string

func (*Wrap) Not added in v1.15.12

func (r *Wrap) Not(query string, isNot bool) string

func (*Wrap) PrefixArray added in v1.15.12

func (r *Wrap) PrefixArray(prefix string, values []string) []string

func (*Wrap) Quote added in v1.15.12

func (r *Wrap) Quote(value string) string

func (*Wrap) Quotes added in v1.15.12

func (r *Wrap) Quotes(value []string) []string

func (*Wrap) Segments added in v1.15.12

func (r *Wrap) Segments(segments []string) string

func (*Wrap) SetValueWrapper added in v1.15.12

func (r *Wrap) SetValueWrapper(wrapper func(string) string)

func (*Wrap) Table added in v1.15.12

func (r *Wrap) Table(table string) string

func (*Wrap) Value added in v1.15.12

func (r *Wrap) Value(value string) string

Jump to

Keyboard shortcuts

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