sqlserver

package module
v0.0.0-...-ddd8ebb Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2025 License: MIT Imports: 27 Imported by: 0

README

Sqlserver

The Sqlserver driver for facades.Orm() of Goravel.

Version

goravel/sqlserver goravel/framework
v1.0.* v1.16.*

Install

  1. Add package
go get -u github.com/goravel/sqlserver
  1. Register service provider
// config/app.go
import "github.com/goravel/sqlserver"

"providers": []foundation.ServiceProvider{
    ...
    &sqlserver.ServiceProvider{},
}
  1. Add Sqlserver driver to config/database.go file
// config/database.go
import (
    "github.com/goravel/framework/contracts/database/driver"
    "github.com/goravel/sqlserver/contracts"
    sqlserverfacades "github.com/goravel/sqlserver/facades"
)

"connections": map[string]any{
    ...
    "sqlserver": map[string]any{
        "host":     config.Env("DB_HOST", "127.0.0.1"),
        "port":     config.Env("DB_PORT", 3306),
        "database": config.Env("DB_DATABASE", "forge"),
        "username": config.Env("DB_USERNAME", ""),
        "password": config.Env("DB_PASSWORD", ""),
        "charset":  "utf8mb4",
        "prefix":   "",
        "singular": false,
        "via": func() (driver.Driver, error) {
            return sqlserverfacades.Sqlserver("sqlserver"), nil
        },
        // Optional
        "read": []contracts.Config{
            {Host: "192.168.1.1", Port: 3306, Database: "forge", Username: "root", Password: "123123"},
        },
        // Optional
        "write": []contracts.Config{
            {Host: "192.168.1.2", Port: 3306, Database: "forge", Username: "root", Password: "123123"},
        },
    },
}

Documentation

Index

Constants

View Source
const (
	Binding = "goravel.sqlserver"
	Name    = "SQL Server"
)

Variables

View Source
var (
	FailedToGenerateDSN = errors.New("failed to generate DSN, please check the database configuration")
	ConfigNotFound      = errors.New("not found database configuration")
)

Functions

This section is empty.

Types

type Config

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

func NewConfig

func NewConfig(config config.Config, connection string) *Config

func (*Config) Config

func (r *Config) Config() config.Config

func (*Config) Connection

func (r *Config) Connection() string

func (*Config) Reads

func (r *Config) Reads() []contracts.FullConfig

func (*Config) Writes

func (r *Config) Writes() []contracts.FullConfig

type Docker

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

func NewDocker

func NewDocker(config contracts.ConfigBuilder, database, username, password string) *Docker

func (*Docker) Build

func (r *Docker) Build() error

func (*Docker) Config

func (*Docker) Database

func (r *Docker) Database(name string) (contractsdocker.DatabaseDriver, error)

func (*Docker) Driver

func (r *Docker) Driver() string

func (*Docker) Fresh

func (r *Docker) Fresh() error

func (*Docker) Image

func (r *Docker) Image(image contractsdocker.Image)

func (*Docker) Ready

func (r *Docker) Ready() error

func (*Docker) Reuse

func (r *Docker) Reuse(containerID string, port int) error

func (*Docker) Shutdown

func (r *Docker) Shutdown() error

type Exprs

type Exprs []clause.Expression

func (Exprs) Build

func (exprs Exprs) Build(builder clause.Builder)

type Gorm

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

func NewGorm

func NewGorm(configBuilder contracts.ConfigBuilder, log log.Log) *Gorm

func (*Gorm) Build

func (r *Gorm) Build() (*gorm.DB, error)

type Grammar

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

func NewGrammar

func NewGrammar(prefix string) *Grammar

func (*Grammar) CompileAdd

func (r *Grammar) CompileAdd(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileChange

func (r *Grammar) CompileChange(blueprint contractsschema.Blueprint, command *contractsschema.Command) []string

func (*Grammar) CompileColumns

func (r *Grammar) CompileColumns(_, table string) (string, error)

func (*Grammar) CompileComment

func (*Grammar) CompileCreate

func (r *Grammar) CompileCreate(blueprint contractsschema.Blueprint) string

func (*Grammar) CompileDefault

func (r *Grammar) CompileDefault(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileDrop

func (r *Grammar) CompileDrop(blueprint contractsschema.Blueprint) string

func (*Grammar) CompileDropAllDomains

func (r *Grammar) CompileDropAllDomains(_ []string) string

func (*Grammar) CompileDropAllForeignKeys

func (r *Grammar) CompileDropAllForeignKeys() string

func (*Grammar) CompileDropAllTables

func (r *Grammar) CompileDropAllTables(_ string, _ []contractsschema.Table) []string

func (*Grammar) CompileDropAllTypes

func (r *Grammar) CompileDropAllTypes(_ string, _ []contractsschema.Type) []string

func (*Grammar) CompileDropAllViews

func (r *Grammar) CompileDropAllViews(_ string, _ []contractsschema.View) []string

func (*Grammar) CompileDropColumn

func (r *Grammar) CompileDropColumn(blueprint contractsschema.Blueprint, command *contractsschema.Command) []string

func (*Grammar) CompileDropDefaultConstraint

func (r *Grammar) CompileDropDefaultConstraint(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileDropForeign

func (r *Grammar) CompileDropForeign(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileDropFullText

func (r *Grammar) CompileDropFullText(_ contractsschema.Blueprint, _ *contractsschema.Command) string

func (*Grammar) CompileDropIfExists

func (r *Grammar) CompileDropIfExists(blueprint contractsschema.Blueprint) string

func (*Grammar) CompileDropIndex

func (r *Grammar) CompileDropIndex(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileDropPrimary

func (r *Grammar) CompileDropPrimary(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileDropUnique

func (r *Grammar) CompileDropUnique(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileForeign

func (r *Grammar) CompileForeign(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileForeignKeys

func (r *Grammar) CompileForeignKeys(schema, table string) string

func (*Grammar) CompileFullText

func (r *Grammar) CompileFullText(_ contractsschema.Blueprint, _ *contractsschema.Command) string

func (*Grammar) CompileIndex

func (r *Grammar) CompileIndex(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileIndexes

func (r *Grammar) CompileIndexes(_, table string) (string, error)

func (*Grammar) CompilePrimary

func (r *Grammar) CompilePrimary(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileRename

func (r *Grammar) CompileRename(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileRenameColumn

func (r *Grammar) CompileRenameColumn(_ contractsschema.Schema, blueprint contractsschema.Blueprint, command *contractsschema.Command) (string, error)

func (*Grammar) CompileRenameIndex

func (r *Grammar) CompileRenameIndex(_ contractsschema.Schema, blueprint contractsschema.Blueprint, command *contractsschema.Command) []string

func (*Grammar) CompileTableComment

func (r *Grammar) CompileTableComment(_ contractsschema.Blueprint, _ *contractsschema.Command) string

func (*Grammar) CompileTables

func (r *Grammar) CompileTables(_ string) string

func (*Grammar) CompileTypes

func (r *Grammar) CompileTypes() string

func (*Grammar) CompileUnique

func (r *Grammar) CompileUnique(blueprint contractsschema.Blueprint, command *contractsschema.Command) string

func (*Grammar) CompileViews

func (r *Grammar) CompileViews(_ string) string

func (*Grammar) GetAttributeCommands

func (r *Grammar) GetAttributeCommands() []string

func (*Grammar) ModifyDefault

func (*Grammar) ModifyIncrement

func (r *Grammar) ModifyIncrement(blueprint contractsschema.Blueprint, column contractsschema.ColumnDefinition) string

func (*Grammar) ModifyNullable

func (*Grammar) TypeBigInteger

func (r *Grammar) TypeBigInteger(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeBoolean

func (r *Grammar) TypeBoolean(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeChar

func (r *Grammar) TypeChar(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeDate

func (*Grammar) TypeDateTime

func (r *Grammar) TypeDateTime(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeDateTimeTz

func (r *Grammar) TypeDateTimeTz(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeDecimal

func (r *Grammar) TypeDecimal(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeDouble

func (*Grammar) TypeEnum

func (r *Grammar) TypeEnum(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeFloat

func (r *Grammar) TypeFloat(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeInteger

func (r *Grammar) TypeInteger(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeJson

func (*Grammar) TypeJsonb

func (*Grammar) TypeLongText

func (r *Grammar) TypeLongText(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeMediumInteger

func (r *Grammar) TypeMediumInteger(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeMediumText

func (r *Grammar) TypeMediumText(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeSmallInteger

func (r *Grammar) TypeSmallInteger(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeString

func (r *Grammar) TypeString(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeText

func (*Grammar) TypeTime

func (r *Grammar) TypeTime(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeTimeTz

func (r *Grammar) TypeTimeTz(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeTimestamp

func (r *Grammar) TypeTimestamp(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeTimestampTz

func (r *Grammar) TypeTimestampTz(column contractsschema.ColumnDefinition) string

func (*Grammar) TypeTinyInteger

func (r *Grammar) TypeTinyInteger(_ contractsschema.ColumnDefinition) string

func (*Grammar) TypeTinyText

func (r *Grammar) TypeTinyText(_ contractsschema.ColumnDefinition) string

type Processor

type Processor struct {
}

func NewProcessor

func NewProcessor() *Processor

func (Processor) ProcessColumns

func (r Processor) ProcessColumns(dbColumns []schema.DBColumn) []schema.Column

func (Processor) ProcessForeignKeys

func (r Processor) ProcessForeignKeys(dbForeignKeys []schema.DBForeignKey) []schema.ForeignKey

func (Processor) ProcessIndexes

func (r Processor) ProcessIndexes(dbIndexes []schema.DBIndex) []schema.Index

func (Processor) ProcessTypes

func (r Processor) ProcessTypes(types []schema.Type) []schema.Type

type Query

type Query struct {
}

func NewQuery

func NewQuery() *Query

func (*Query) LockForUpdate

func (r *Query) LockForUpdate() clause.Expression

func (*Query) RandomOrder

func (r *Query) RandomOrder() string

func (*Query) SharedLock

func (r *Query) SharedLock() clause.Expression

type ServiceProvider

type ServiceProvider struct {
}

func (*ServiceProvider) Boot

func (receiver *ServiceProvider) Boot(app foundation.Application)

func (*ServiceProvider) Register

func (receiver *ServiceProvider) Register(app foundation.Application)

type Sqlserver

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

func NewSqlserver

func NewSqlserver(config config.Config, log log.Log, connection string) *Sqlserver

func (*Sqlserver) Config

func (r *Sqlserver) Config() database.Config

func (*Sqlserver) DB

func (r *Sqlserver) DB() (*sql.DB, error)

func (*Sqlserver) Docker

func (r *Sqlserver) Docker() (docker.DatabaseDriver, error)

func (*Sqlserver) Gorm

func (r *Sqlserver) Gorm() (*gorm.DB, driver.GormQuery, error)

func (*Sqlserver) Grammar

func (r *Sqlserver) Grammar() contractsschema.Grammar

func (*Sqlserver) Processor

func (r *Sqlserver) Processor() contractsschema.Processor

type WithHint

type WithHint struct {
	Type string
	Keys []string
}

func With

func With(names ...string) WithHint

func (WithHint) Build

func (indexHint WithHint) Build(builder clause.Builder)

func (WithHint) ModifyStatement

func (indexHint WithHint) ModifyStatement(stmt *gorm.Statement)

type Wrap

type Wrap struct {
	*schema.Wrap
}

func NewWrap

func NewWrap(prefix string) *Wrap

func (*Wrap) Quotes

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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