orm

package
v1.2.7 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2022 License: BSD-3-Clause Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MIGRATION_FOLDER = "migrations"
	CACHE_TOPIC      = "internale-db-cache"
)
View Source
const (
	SQLITE    = "sqlite"
	POSTGRES  = "postgres"
	MYSQL     = "mysql"
	MARIA     = "maria"
	COCKROACH = "cockroach"
)

Variables

View Source
var (
	Debug    = false
	UseCache = true

	DefaultDB = ""
)

Functions

func AddTrigger added in v1.0.66

func AddTrigger(onTable, col, bf_af_UpdateInsertDelete string, ofColumn, stmt string, forEachRow bool, whenEachRow string, dbName ...string)

func AutoMigrate

func AutoMigrate[T comparable](tableName string, dbName ...string) error

func CreateUser

func CreateUser(email, password string, isAdmin int, dbName ...string) error

func DisableCache added in v1.2.7

func DisableCache()

DisableCache disable the cache system, if you are having problem with it, you can korm.FlushCache on command too

func DisableCheck added in v1.2.7

func DisableCheck()

func DropTrigger added in v1.0.67

func DropTrigger(onField, tableName string)

func Exec added in v0.7.4

func Exec(dbName, query string, args ...any) error

func GenerateUUID

func GenerateUUID() (string, error)

func GetAllColumnsTypes added in v1.0.66

func GetAllColumnsTypes(table string, dbName ...string) map[string]string

func GetAllTables

func GetAllTables(dbName ...string) []string

func GetConnection

func GetConnection(dbName ...string) *sql.DB

GetConnection return default connection for orm.DefaultDatabase (if dbName not specified or empty or "default") else it return the specified one

func GetConstraints added in v0.7.1

func GetConstraints(db *DatabaseEntity, tableName string) map[string][]string

func InitDB

func InitDB() error

func LinkModel

func LinkModel[T comparable](to_table_name string, db *DatabaseEntity)

LinkModel link a struct model to a db_table_name

func ManyToMany added in v1.2.7

func ManyToMany(table1, table2 string, dbName ...string) error

func Migrate

func Migrate() error

func NewDatabaseFromConnection

func NewDatabaseFromConnection(dbType, dbName string, conn *sql.DB) error

func NewDatabaseFromDSN

func NewDatabaseFromDSN(dbType, dbName string, dbDSN ...string) error

func Query added in v0.7.1

func Query(dbName string, statement string, args ...any) ([]map[string]interface{}, error)

func ShutdownDatabases

func ShutdownDatabases(databasesName ...string) error

func UseForAdmin

func UseForAdmin(dbName string)

Types

type Builder

type Builder[T comparable] struct {
	// contains filtered or unexported fields
}

func BuilderS added in v0.7.4

func BuilderS[T comparable]() *Builder[T]

func Model

func Model[T comparable]() *Builder[T]

func (*Builder[T]) AddRelated added in v1.2.7

func (b *Builder[T]) AddRelated(relatedTable string, whereRelatedTable string, whereRelatedArgs ...any) (int, error)

func (*Builder[T]) All

func (b *Builder[T]) All() ([]T, error)

func (*Builder[T]) Context

func (b *Builder[T]) Context(ctx context.Context) *Builder[T]

func (*Builder[T]) Database

func (b *Builder[T]) Database(dbName string) *Builder[T]

func (*Builder[T]) Debug

func (b *Builder[T]) Debug() *Builder[T]

func (*Builder[T]) Delete

func (b *Builder[T]) Delete() (int, error)

func (*Builder[T]) DeleteRelated added in v1.2.7

func (b *Builder[T]) DeleteRelated(relatedTable string, whereRelatedTable string, whereRelatedArgs ...any) (int, error)

func (*Builder[T]) Drop

func (b *Builder[T]) Drop() (int, error)

func (*Builder[T]) GetRelated added in v1.2.7

func (b *Builder[T]) GetRelated(relatedTable string, dest any) error

func (*Builder[T]) Insert

func (b *Builder[T]) Insert(model *T) (int, error)

func (*Builder[T]) JoinRelated added in v1.2.7

func (b *Builder[T]) JoinRelated(relatedTable string, dest any) error

func (*Builder[T]) Limit

func (b *Builder[T]) Limit(limit int) *Builder[T]

func (*Builder[T]) One

func (b *Builder[T]) One() (T, error)

func (*Builder[T]) OrderBy

func (b *Builder[T]) OrderBy(fields ...string) *Builder[T]

func (*Builder[T]) Page

func (b *Builder[T]) Page(pageNumber int) *Builder[T]

func (*Builder[T]) Query

func (b *Builder[T]) Query(query string, args ...any) *Builder[T]

func (*Builder[T]) Select

func (b *Builder[T]) Select(columns ...string) *Builder[T]

func (*Builder[T]) Set

func (b *Builder[T]) Set(query string, args ...any) (int, error)

func (*Builder[T]) Where

func (b *Builder[T]) Where(query string, args ...any) *Builder[T]

type BuilderM

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

func BuilderMap added in v0.7.4

func BuilderMap(tableName string) *BuilderM

func Table

func Table(tableName string) *BuilderM

func (*BuilderM) AddRelated added in v1.2.7

func (b *BuilderM) AddRelated(relatedTable string, whereRelatedTable string, whereRelatedArgs ...any) (int, error)

func (*BuilderM) All

func (b *BuilderM) All() ([]map[string]any, error)

func (*BuilderM) Context

func (b *BuilderM) Context(ctx context.Context) *BuilderM

func (*BuilderM) Database

func (b *BuilderM) Database(dbName string) *BuilderM

func (*BuilderM) Debug

func (b *BuilderM) Debug() *BuilderM

func (*BuilderM) Delete

func (b *BuilderM) Delete() (int, error)

func (*BuilderM) DeleteRelated added in v1.2.7

func (b *BuilderM) DeleteRelated(relatedTable string, whereRelatedTable string, whereRelatedArgs ...any) (int, error)

func (*BuilderM) Drop

func (b *BuilderM) Drop() (int, error)

func (*BuilderM) GetRelated added in v1.2.7

func (b *BuilderM) GetRelated(relatedTable string, dest *[]map[string]any) error

func (*BuilderM) Insert

func (b *BuilderM) Insert(fields_comma_separated string, fields_values []any) (int, error)

func (*BuilderM) JoinRelated added in v1.2.7

func (b *BuilderM) JoinRelated(relatedTable string, dest *[]map[string]any) error

func (*BuilderM) Limit

func (b *BuilderM) Limit(limit int) *BuilderM

func (*BuilderM) One

func (b *BuilderM) One() (map[string]any, error)

func (*BuilderM) OrderBy

func (b *BuilderM) OrderBy(fields ...string) *BuilderM

func (*BuilderM) Page

func (b *BuilderM) Page(pageNumber int) *BuilderM

func (*BuilderM) Query

func (b *BuilderM) Query(query string, args ...any) *BuilderM

func (*BuilderM) Select

func (b *BuilderM) Select(columns ...string) *BuilderM

func (*BuilderM) Set

func (b *BuilderM) Set(query string, args ...any) (int, error)

func (*BuilderM) Where

func (b *BuilderM) Where(query string, args ...any) *BuilderM

type DatabaseEntity

type DatabaseEntity struct {
	Name    string
	Conn    *sql.DB
	Dialect string
	Tables  []TableEntity
}

func GetMemoryDatabase added in v1.0.66

func GetMemoryDatabase(dbName string) (*DatabaseEntity, error)

GetMemoryDatabase return the first connected database orm.DefaultDatabase if dbName "" or "default" else the matched db

func GetMemoryDatabases added in v1.0.66

func GetMemoryDatabases() []DatabaseEntity

type TableEntity added in v0.7.0

type TableEntity struct {
	Pk         string
	Name       string
	Columns    []string
	Types      map[string]string
	ModelTypes map[string]string
	Tags       map[string][]string
}

func GetMemoryTable added in v1.0.66

func GetMemoryTable(tbName string, dbName ...string) (TableEntity, error)

func GetMemoryTables added in v1.0.66

func GetMemoryTables(dbName ...string) ([]TableEntity, error)

Jump to

Keyboard shortcuts

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