jdb

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MSG_DRIVER_NOT_FOUND     = "Driver not found"
	MSG_DRIVER_NOT_DEFINED   = "Driver not defined"
	MSS_PARAM_REQUIRED       = "Parámetro requerido (%s)"
	MSG_DATABASE_NOT_FOUND   = "Database not found"
	MSG_DATABASE_IS_REQUIRED = "Database is required"
	MSG_QUERY_FAILED         = "Query failed: %s"
)

Variables

View Source
var (
	IndexField     = "index"
	DataField      = "_data"
	ProjectField   = "project_id"
	CreatedAtField = "created_at"
	UpdatedAtField = "update_at"
	StateField     = "_state"
	SystemKeyField = "_idt"
	CreatedToField = "created_to"
	UpdatedToField = "updated_to"
	FullTextField  = "_fulltext"
)
View Source
var (
	Postgres = "postgres"
	Josefine = "josefine"
)

Functions

func DataToItem added in v1.0.3

func DataToItem(rows *sql.Rows, source string) et.Item

* * DataItem return a item from a sql rows and source field * @param rows *sql.Rows * @param source string * @return et.Item *

func DataToItems added in v1.0.3

func DataToItems(rows *sql.Rows, source string) et.Items

* * DataItems return a items from a sql rows and source field * @param rows *sql.Rows * @param source string * @return et.Items *

func Register

func Register(name string, driver func() Driver)

* * SetDriver *

func RowsToItem

func RowsToItem(rows *sql.Rows) et.Item

* * RowsToItem return a item from a sql rows * @param rows *sql.Rows * @return et.Item *

func RowsToItems

func RowsToItems(rows *sql.Rows) et.Items

* * RowsToItems return a items from a sql rows * @param rows *sql.Rows * @return et.Items *

func SQLDDL

func SQLDDL(sql string, args ...any) string

* * SQLDDL return a sql string with the args * @param sql string * @param args ...any * @return string *

func SQLParse

func SQLParse(sql string, args ...any) string

* * SQLParse return a sql string with the args * @param sql string * @param args ...any * @return string *

func SQLQuote

func SQLQuote(sql string) string

* * SQLQuote return a sql cuote string * @param sql string * @return string *

func TableName added in v1.0.3

func TableName(schema, name string) string

Types

type Adapter added in v1.0.3

type Adapter interface{}

type Column

type Column struct {
	Model       *Model
	Name        string
	Description string
	Table       string
	Field       string
	TypeColumn  TypeColumn
	TypeData    TypeData
	Default     interface{}
	Max         float64
	Min         float64
	Hidden      bool
	Columns     []string
}

func (*Column) Describe

func (s *Column) Describe() et.Json

* * Describe * @return et.Json *

type Command

type Command struct {
	Db      *DB
	Model   *Model
	Data    []et.Json
	Command TypeCommand
	Columns et.Json
	Atribs  et.Json
	New     *et.Json
	Key     string
	Wheres  []*LinqWhere
	Returns []*LinqSelect
	Show    bool
	Sql     string
	Result  et.Items
}

func NewCommand

func NewCommand(model *Model, data []et.Json, command TypeCommand) *Command

* * NewCommand * @param model *Model * @param data []et.Json * @param command TypeCommand * @return *Command *

func (*Command) And

func (s *Command) And(col interface{}) *CommandFilter

* * And * @param col interface{} * @return *LinqWheres *

func (*Command) Debug

func (s *Command) Debug() *Command

* * Debug * @return *Command *

func (*Command) Describe

func (s *Command) Describe() et.Json

* * Describe * @return et.Json *

func (*Command) Exec

func (s *Command) Exec() (et.Items, error)

* * Exec * @return et.Items, error *

func (*Command) One

func (s *Command) One() (et.Item, error)

* * One * @return et.Item, error *

func (*Command) Or

func (s *Command) Or(col interface{}) *CommandFilter

* * And * @param col interface{} * @return *LinqWhere *

func (*Command) Where

func (s *Command) Where(col interface{}) *CommandFilter

* * Select * @param columns ...interface{} * @return *Command *

type CommandFilter added in v1.0.3

type CommandFilter struct {
	Command *Command
	Wheres  []*LinqWhere
	// contains filtered or unexported fields
}

func NewCommandFilter added in v1.0.3

func NewCommandFilter(c *Command, whers []*LinqWhere) *CommandFilter

* * NewCommandFilter * @param l *Command * @param wheres []*LinqWhere * @return *CommandFilter *

func (*CommandFilter) Between added in v1.0.3

func (s *CommandFilter) Between(val1, val2 interface{}) *Command

* * Between * @param val1, val2 interface{} * @return *Command *

func (*CommandFilter) Eq added in v1.0.3

func (s *CommandFilter) Eq(val interface{}) *Command

* * Eq * @param val interface{} * @return *Command *

func (*CommandFilter) In added in v1.0.3

func (s *CommandFilter) In(val ...interface{}) *Command

* * In * @param val ...interface{} * @return *Command *

func (*CommandFilter) IsNull added in v1.0.3

func (s *CommandFilter) IsNull() *Command

* * IsNull * @return *Command *

func (*CommandFilter) Less added in v1.0.3

func (s *CommandFilter) Less(val interface{}) *Command

* * Less * @param val interface{} * @return *Command *

func (*CommandFilter) LessEs added in v1.0.3

func (s *CommandFilter) LessEs(val interface{}) *Command

* * LessEq * @param val interface{} * @return *Command *

func (*CommandFilter) Like added in v1.0.3

func (s *CommandFilter) Like(val interface{}) *Command

* * Like * @param val interface{} * @return *Command *

func (*CommandFilter) More added in v1.0.3

func (s *CommandFilter) More(val interface{}) *Command

* * More * @param val interface{} * @return *Command *

func (*CommandFilter) MoreEq added in v1.0.3

func (s *CommandFilter) MoreEq(val interface{}) *Command

* * MoreEq * @param val interface{} * @return *Command *

func (*CommandFilter) Neg added in v1.0.3

func (s *CommandFilter) Neg(val interface{}) *Command

* * Neg * @param val interface{} * @return *Command *

type Concat added in v1.0.3

type Concat map[string]interface{}

func Concatenate added in v1.0.3

func Concatenate(args ...interface{}) Concat

type Connector

type Connector int
const (
	Not Connector = iota
	And
	Or
)

type DB

type DB struct {
	CreatedAt   time.Time          `json:"created_date"`
	UpdateAt    time.Time          `json:"update_date"`
	Id          string             `json:"id"`
	Description string             `json:"description"`
	Schemas     map[string]*Schema `json:"schemas"`
	// contains filtered or unexported fields
}

func ConnectTo

func ConnectTo(params et.Json) (*DB, error)

func Load

func Load() (*DB, error)

func NewDatabase

func NewDatabase(driver string) (*DB, error)

* * NewDatabase * @param driver string * @return *DB *

func (*DB) Command

func (s *DB) Command(command *Command) (et.Item, error)

* * Command * @param command *Command * @return et.Item, error *

func (*DB) Conected

func (s *DB) Conected(params et.Json) error

* * Conected * @return bool *

func (*DB) Count

func (s *DB) Count(linq *Linq) (int, error)

* * Count * @param linq *Linq * @return int, error *

func (*DB) CreateModel added in v1.0.3

func (s *DB) CreateModel(model *Model) error

* * CreateModel * @param model *Model * @return error *

func (*DB) CreateSchema added in v1.0.3

func (s *DB) CreateSchema(name string) error

* * CreateSchema * @param name string * @return error *

func (*DB) Current added in v1.0.3

func (s *DB) Current(command *Command) (et.Items, error)

* * Current * @param command *Command * @return et.Items, error *

func (*DB) CurrentSerie

func (s *DB) CurrentSerie(tag string) int64

* * CurrentSerie * @param tag string * @return int64 *

func (*DB) DeleteUser

func (s *DB) DeleteUser(username string) error

* * DeleteUser * @return error *

func (*DB) Describe

func (s *DB) Describe() et.Json

* * Describe * @return et.Json *

func (*DB) Disconected

func (s *DB) Disconected() error

* * Disconected * @return error *

func (*DB) DropSchema

func (s *DB) DropSchema(name string) error

* * DropSchema * @param name string * @return error *

func (*DB) Exec added in v1.0.3

func (s *DB) Exec(sql string, params ...interface{}) error

* * Exec * @param sql string * @param params ...interface{} * @return error *

func (*DB) GetSerie

func (s *DB) GetSerie(tag string) int64

* * GetSerie * @return int64 *

func (*DB) Last added in v1.0.3

func (s *DB) Last(linq *Linq) (et.Items, error)

* * Last * @param linq *Linq * @return et.Items, error *

func (*DB) MutateModel added in v0.1.1

func (s *DB) MutateModel(model *Model) error

* * MutateModel * @param model *Model * @return error *

func (*DB) NextCode added in v1.0.3

func (s *DB) NextCode(tag, format string) string

* * NextCode * @param tag string * @param format string "%08v" "PREFIX-%08v-SUFFIX" * @return string *

func (*DB) One

func (s *DB) One(sql string, params ...interface{}) (et.Item, error)

* * One * @param sql string * @param params ...interface{} * @return et.Item, error *

func (*DB) Query

func (s *DB) Query(linq *Linq) (et.Items, error)

* * Query * @param linq *Linq * @return et.Items, error *

func (*DB) SQL added in v1.0.3

func (s *DB) SQL(sql string, params ...interface{}) (et.Items, error)

* * SQL * @param sql string * @param params ...interface{} * @return et.Items, error *

func (*DB) SetMain

func (s *DB) SetMain(params et.Json) error

* * SetMain * @param params et.Json * @return error *

func (*DB) SetSerie

func (s *DB) SetSerie(tag string, val int) int64

* * SetSerie * @return int64 *

func (*DB) SetUser added in v1.0.3

func (s *DB) SetUser(username, password, confirmation string) error

* * SetAdmin * @return error *

type Detail added in v1.0.3

type Detail func(col string, data *et.Json) error

type Dictionary added in v1.0.3

type Dictionary struct {
	Model   *Model
	Key     string
	Value   interface{}
	Columns []*Column
}

func NewDictionary added in v1.0.3

func NewDictionary(model *Model, key string, value interface{}) *Dictionary

* * NewDictionary * @param key string * @param value interface{} * @return *Dictionary *

func (*Dictionary) DefineAtribute added in v1.0.3

func (s *Dictionary) DefineAtribute(name string, typeData TypeData, def interface{}) *Column

* * DefineAtribute * @param name string * @param typeData TypeData * @param def interface{} * @return *Model *

type Driver

type Driver interface {
	Name() string
	Connect(params et.Json) error
	Disconnect() error
	SetMain(params et.Json) error
	// Database
	CreateDatabase(name string) error
	DropDatabase(name string) error
	// Core
	CreateCore() error
	// User
	SetUser(username, password, confirmation string) error
	DeleteUser(username string) error
	// Schema
	CreateSchema(name string) error
	DropSchema(name string) error
	// Model
	CreateModel(model *Model) error
	MutateModel(model *Model) error
	DefaultValue(tp TypeData) interface{}
	// Query
	Exec(sql string, params ...interface{}) error
	SQL(sql string, params ...interface{}) (et.Items, error)
	One(sql string, params ...interface{}) (et.Item, error)
	Query(linq *Linq) (et.Items, error)
	Count(linq *Linq) (int, error)
	Last(linq *Linq) (et.Items, error)
	// Command
	Current(command *Command) (et.Items, error)
	Command(command *Command) (et.Item, error)
	// Series
	GetSerie(tag string) int64
	NextCode(tag, prefix string) string
	SetSerie(tag string, val int) int64
	CurrentSerie(tag string) int64
}

type Function added in v0.0.1

type Function struct {
	Key          string
	Name         string
	Description  string
	TypeFunction TypeFunction
	Args         []interface{}
	Definition   string
}

func NewFunction added in v1.0.3

func NewFunction(name string, tp TypeFunction) *Function

* * NewFunction * @param name string * @param tp TypeFunction * @return *Function *

type Index

type Index struct {
	Column *Column
	Sorted bool
}

func NewIndex added in v1.0.3

func NewIndex(col *Column, sorted bool) *Index

* * NewIndex * @param col *Column * @param sorted bool * @return *Index *

type Linq added in v1.0.3

type Linq struct {
	Db       *DB
	TypeLinq TypeLinq
	Froms    []*LinqFrom
	Joins    []*LinqJoin
	Wheres   []*LinqWhere
	GroupBys []*LinqSelect
	Havings  []*LinqWhere
	Selects  []*LinqSelect
	Orders   []*LinqOrder
	Offset   int
	Limit    int
	Show     bool
	Sql      string
	Result   et.Items
	// contains filtered or unexported fields
}

func From

func From(m *Model) *Linq

func (*Linq) All added in v1.0.3

func (s *Linq) All() (et.Items, error)

* * All * @return et.Items, error *

func (*Linq) And added in v1.0.3

func (s *Linq) And(col interface{}) *LinqFilter

* * And * @param col interface{} * @return *LinqWheres *

func (*Linq) Avg added in v1.0.3

func (s *Linq) Avg(column interface{}) *Linq

* * Avg * @param column interface{} * @return *Linq *

func (*Linq) Count added in v1.0.3

func (s *Linq) Count(column interface{}) *Linq

* * Count * @param column interface{} * @return *Linq *

func (*Linq) Data added in v1.0.3

func (s *Linq) Data(columns ...interface{}) *Linq

* * Data * @param columns ...interface{} * @return *Linq *

func (*Linq) Debug added in v1.0.3

func (s *Linq) Debug() *Linq

* * Debug * @return *Linq *

func (*Linq) Describe added in v1.0.3

func (s *Linq) Describe() et.Json

func (*Linq) First added in v1.0.3

func (s *Linq) First(n int) (et.Items, error)

* * First * @param n int * @return et.Items, error *

func (*Linq) FullJoin added in v1.0.3

func (s *Linq) FullJoin(m *Model) *LinqJoin

* * FullJoin * @param m *Model * @return *Linq *

func (*Linq) GroupBy added in v1.0.3

func (s *Linq) GroupBy(columns ...interface{}) *Linq

* * GroupBy * @param columns ...interface{} * @return *Linq *

func (*Linq) Having added in v1.0.3

func (s *Linq) Having(col interface{}) *LinqWhere

* * Having * @param col interface{} * @return *LinqWhere *

func (*Linq) Join added in v1.0.3

func (s *Linq) Join(m *Model) *LinqJoin

* * LinqJoin * @param m *Model * @return *Linq *

func (*Linq) Last added in v1.0.3

func (s *Linq) Last(n int) (et.Items, error)

* * Last * @param n int * @return et.Items, error *

func (*Linq) LeftJoin added in v1.0.3

func (s *Linq) LeftJoin(m *Model) *LinqJoin

* * LeftJoin * @param m *Model * @return *Linq *

func (*Linq) List added in v1.0.3

func (s *Linq) List(page, rows int) (et.List, error)

* * List * @param page int * @param rows int * @return et.List, error *

func (*Linq) Max added in v1.0.3

func (s *Linq) Max(column interface{}) *Linq

* * Max * @param column interface{} * @return *Linq *

func (*Linq) Min added in v1.0.3

func (s *Linq) Min(column interface{}) *Linq

* * Min * @param column interface{} * @return *Linq *

func (*Linq) One added in v1.0.3

func (s *Linq) One() (et.Item, error)

* * One * @return et.Item, error *

func (*Linq) Or added in v1.0.3

func (s *Linq) Or(col interface{}) *LinqFilter

* * And * @param col interface{} * @return *LinqWhere *

func (*Linq) OrderBy added in v1.0.3

func (s *Linq) OrderBy(sorted bool, columns ...interface{}) *Linq

* * OrderBy * @param sorted bool * @param columns ...interface{} * @return *Linq *

func (*Linq) OrderByAsc added in v1.0.3

func (s *Linq) OrderByAsc(columns ...interface{}) *Linq

* * OrderByAsc * @param columns ...interface{} * @return *Linq *

func (*Linq) OrderByDesc added in v1.0.3

func (s *Linq) OrderByDesc(columns ...interface{}) *Linq

* * OrderByDesc * @param columns ...interface{} * @return *Linq *

func (*Linq) Page added in v1.0.3

func (s *Linq) Page(val int) *Linq

* * Offset * @param offset int * @return *Linq *

func (*Linq) RightJoin added in v1.0.3

func (s *Linq) RightJoin(m *Model) *LinqJoin

* * RightJoin * @param m *Model * @return *Linq *

func (*Linq) Rows added in v1.0.3

func (s *Linq) Rows(val int) (et.List, error)

* * Limit * @param limit int * @return *Linq *

func (*Linq) Select added in v1.0.3

func (s *Linq) Select(columns ...interface{}) *Linq

* * Select * @param columns ...interface{} * @return *Linq *

func (*Linq) Sum added in v1.0.3

func (s *Linq) Sum(column interface{}) *Linq

* * Sum * @param column interface{} * @return *Linq *

func (*Linq) Where added in v1.0.3

func (s *Linq) Where(col interface{}) *LinqFilter

* * Select * @param columns ...interface{} * @return *Linq *

type LinqFilter added in v1.0.3

type LinqFilter struct {
	Linq   *Linq
	Wheres []*LinqWhere
	// contains filtered or unexported fields
}

func NewLinqFilter added in v1.0.3

func NewLinqFilter(l *Linq, whers []*LinqWhere) *LinqFilter

* * NewLinqFilter * @param l *Linq * @param wheres []*LinqWhere * @return *LinqFilter *

func (*LinqFilter) Between added in v1.0.3

func (s *LinqFilter) Between(val1, val2 interface{}) *Linq

* * Between * @param val1, val2 interface{} * @return *Linq *

func (*LinqFilter) Eq added in v1.0.3

func (s *LinqFilter) Eq(val interface{}) *Linq

* * Eq * @param val interface{} * @return *Linq *

func (*LinqFilter) In added in v1.0.3

func (s *LinqFilter) In(val ...interface{}) *Linq

* * In * @param val ...interface{} * @return *Linq *

func (*LinqFilter) IsNull added in v1.0.3

func (s *LinqFilter) IsNull() *Linq

* * IsNull * @return *Linq *

func (*LinqFilter) Less added in v1.0.3

func (s *LinqFilter) Less(val interface{}) *Linq

* * Less * @param val interface{} * @return *Linq *

func (*LinqFilter) LessEs added in v1.0.3

func (s *LinqFilter) LessEs(val interface{}) *Linq

* * LessEq * @param val interface{} * @return *Linq *

func (*LinqFilter) Like added in v1.0.3

func (s *LinqFilter) Like(val interface{}) *Linq

* * Like * @param val interface{} * @return *Linq *

func (*LinqFilter) More added in v1.0.3

func (s *LinqFilter) More(val interface{}) *Linq

* * More * @param val interface{} * @return *Linq *

func (*LinqFilter) MoreEq added in v1.0.3

func (s *LinqFilter) MoreEq(val interface{}) *Linq

* * MoreEq * @param val interface{} * @return *Linq *

func (*LinqFilter) Neg added in v1.0.3

func (s *LinqFilter) Neg(val interface{}) *Linq

* * Neg * @param val interface{} * @return *Linq *

func (*LinqFilter) Search added in v1.0.3

func (s *LinqFilter) Search(val interface{}) *Linq

* * Search * @param val interface{} * @return *Linq *

type LinqFrom added in v1.0.3

type LinqFrom struct {
	Model
	As string
}

type LinqJoin added in v1.0.3

type LinqJoin struct {
	Linq     *Linq
	TypeJoin TypeJoin
	From     *LinqFrom
	Wheres   []*LinqWhere
}

func (*LinqJoin) On added in v1.0.3

func (s *LinqJoin) On(col interface{}) *LinqFilter

* * On * @param col interface{} * @return *Linq *

type LinqOrder added in v1.0.3

type LinqOrder struct {
	LinqSelect
	Sorted bool
}

type LinqSelect added in v1.0.3

type LinqSelect struct {
	From     *LinqFrom
	Field    string
	Function TypeFuntion
}

func (*LinqSelect) As added in v1.0.3

func (s *LinqSelect) As() string

type LinqWhere added in v1.0.3

type LinqWhere struct {
	Conector Connector
	A        interface{}
	Operator Operator
	B        interface{}
}

type Model

type Model struct {
	Db            *DB
	Schema        *Schema
	CreatedAt     time.Time              `json:"created_date"`
	UpdateAt      time.Time              `json:"update_date"`
	Name          string                 `json:"name"`
	Table         string                 `json:"table"`
	Description   string                 `json:"description"`
	Columns       []*Column              `json:"columns"`
	Details       map[string]Detail      `json:"details"`
	Indices       map[string]*Index      `json:"indices"`
	Uniques       map[string]*Index      `json:"uniques"`
	Keys          map[string]*Column     `json:"keys"`
	Relations     map[string]*Relation   `json:"relations"`
	Dictionaries  map[string]*Dictionary `json:"dictionaries"`
	ColRequired   map[string]bool        `json:"col_required"`
	SourceField   *Column                `json:"data_field"`
	FullTextField *Column                `json:"full_text"`
	BeforeInsert  []Trigger              `json:"before_insert"`
	AfterInsert   []Trigger              `json:"after_insert"`
	BeforeUpdate  []Trigger              `json:"before_update"`
	AfterUpdate   []Trigger              `json:"after_update"`
	BeforeDelete  []Trigger              `json:"before_delete"`
	AfterDelete   []Trigger              `json:"after_delete"`
	Functions     map[string]*Function   `json:"functions"`
	Integrity     bool                   `json:"integrity"`
}

func NewModel

func NewModel(schema *Schema, name string) *Model

func (*Model) Bulk

func (s *Model) Bulk(data []et.Json) *Command

* * Bulk * @param data []et.Json * @return *Command *

func (*Model) Col added in v1.0.3

func (s *Model) Col(name string) *Column

* * Col * @param name string * @return *Column *

func (*Model) Column added in v1.0.3

func (s *Model) Column(name string) *Column

* * Column * @param name string * @return *Column *

func (*Model) DefineAtribute

func (s *Model) DefineAtribute(name string, typeData TypeData) *Column

* * DefineAtribute * @param name string * @param typeData TypeData * @param def interface{} * @return *Model *

func (*Model) DefineColumn

func (s *Model) DefineColumn(name string, typeData TypeData) *Column

* * DefineColumn * @param name string * @param typeData TypeData * @param def interface{} * @return *Model *

func (*Model) DefineDetail

func (s *Model) DefineDetail(name string, detail Detail) *Model

* * DefineDetail * @param name string * @param detail Detail * @return *Model *

func (*Model) DefineDictionary added in v1.0.3

func (s *Model) DefineDictionary(name, key string, value interface{}) *Dictionary

* * DefineDictionary * @param name string * @param key string * @param value interface{} * @return *Dictionary *

func (*Model) DefineFunction added in v1.0.3

func (s *Model) DefineFunction(name string, tp TypeFunction, definition string) *Model

* * DefineFunction * @param name string * @param function string * @return *Model *

func (*Model) DefineIndex

func (s *Model) DefineIndex(sort bool, colums ...string) *Model

* * DefineIndex * @param colums ...*Column * @return *Model *

func (*Model) DefineKey added in v1.0.3

func (s *Model) DefineKey(colums ...string) *Model

* * DefineKey * @param colums ...*Column * @return *Model *

func (*Model) DefineRequired

func (s *Model) DefineRequired(requireds ...string) *Model

* * DefineRequired * @param requireds ...string * @return *Model *

func (*Model) DefineTrigger added in v1.0.3

func (s *Model) DefineTrigger(tp TypeTrigger, trigger Trigger) *Model

* * DefineTrigger * @param tp TypeTrigger * @param trigger Trigger * @return *Model *

func (*Model) DefineUnique

func (s *Model) DefineUnique(colums ...string) *Model

* * DefineUnique * @param colums ...*Column * @return *Model *

func (*Model) Delete

func (s *Model) Delete() *Command

* * Delete * @return *Command *

func (*Model) Describe

func (s *Model) Describe() et.Json

* * Describe * @return et.Json *

func (*Model) FullText added in v1.0.3

func (s *Model) FullText() *Column

* * Col * @param name string * @return *Column *

func (*Model) GetColumn added in v1.0.3

func (s *Model) GetColumn(name string) *Column

* * DefineColumn * @param name string * @return *Column *

func (*Model) GetColumns added in v1.0.3

func (s *Model) GetColumns(names ...string) []*Column

* * DefineColumn * @param name string * @return *Column *

func (*Model) GetDetails added in v1.0.3

func (s *Model) GetDetails(data *et.Json)

* * GetDetails * @param data *et.Json * @return error *

func (*Model) Init

func (s *Model) Init() error

* * Init * @return error *

func (*Model) Insert

func (s *Model) Insert(data et.Json) *Command

* * Insert * @param data []et.Json * @return *Command *

func (*Model) Update

func (s *Model) Update(data et.Json) *Command

* * Update * @param data []et.Json * @return *Command *

type Operator

type Operator int
const (
	Equal Operator = iota
	Neg
	In
	Like
	More
	Less
	MoreEq
	LessEq
	Between
	IsNull
	Search
)

type Relation

type Relation struct {
	Model           *Model
	To              *Model
	TypeRelation    TypeRelation
	ForeignKey      map[string]*Column
	ForeignKeyTo    map[string]*Column
	OnDeleteCascade bool
	OnUpdateCascade bool
}

type Schema

type Schema struct {
	Db          *DB
	CreatedAt   time.Time `json:"created_date"`
	UpdateAt    time.Time `json:"update_date"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Models      map[string]*Model
}

func NewSchema

func NewSchema(db *DB, name string) *Schema

func (*Schema) Describe

func (s *Schema) Describe() et.Json

* * Describe * @return et.Json *

func (*Schema) Init added in v1.0.3

func (s *Schema) Init() error

* * Init * @return error *

type Trigger added in v1.0.3

type Trigger func(old et.Json, new *et.Json, data et.Json) error

type TypeColumn

type TypeColumn int
const (
	TpColumn TypeColumn = iota
	TpAtribute
)

type TypeCommand

type TypeCommand int
const (
	Insert TypeCommand = iota
	Update
	Delete
)

type TypeData

type TypeData int
const (
	TypeDataText TypeData = iota
	TypeDataMemo
	TypeDataShort
	TypeDataKey
	TypeDataInt
	TypeDataNumber
	TypeDataSerie
	TypeDataBool
	TypeDataTime
	// Special
	TypeDataObject
	TypeDataArray
	TypeFullText
)

func (TypeData) DefaultValue

func (s TypeData) DefaultValue(d Driver) interface{}

type TypeFunction added in v1.0.3

type TypeFunction int
const (
	TpSqlFunction TypeFunction = iota
	TpJsFunction
	TpGoFunction
	TpPythonFunction
)

type TypeFuntion added in v1.0.3

type TypeFuntion int
const (
	Sum TypeFuntion = iota
	Count
	Avg
	Max
	Min
)

type TypeJoin

type TypeJoin int
const (
	TypeJoinInner TypeJoin = iota
	TypeJoinLeft
	TypeJoinRight
	TypeJoinFull
)

type TypeLinq added in v1.0.3

type TypeLinq int
const (
	TypeLinqSelect TypeLinq = iota
	TypeLinqData
)

type TypeRelation added in v1.0.3

type TypeRelation int
const (
	RelationOneToOne TypeRelation = iota
	RelationOneToMany
	RelationManyToMany
)

type TypeTrigger added in v1.0.3

type TypeTrigger int
const (
	BeforeInsert TypeTrigger = iota
	AfterInsert
	BeforeUpdate
	AfterUpdate
	BeforeDelete
	AfterDelete
)

Jump to

Keyboard shortcuts

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