Documentation ¶
Index ¶
- func AddConnection(connectionName string, conn *pgx.ConnPool, migrationsPath string) error
- func Close() error
- func DB(connectionName string) *pgx.ConnPool
- func MigrationsPath(connectionName string) string
- func NewConnection(connectionName string, conf pgx.ConnConfig, maxConnections int, ...) error
- func SetTimezone(connectionName string, location *time.Location) error
- type Column
- type Connection
- func (c *Connection) BuildCount() (string, []interface{})
- func (c *Connection) BuildSelect() (string, []interface{})
- func (c *Connection) BuildSum(column string) (string, []interface{})
- func (c *Connection) Close()
- func (c *Connection) Columns() ([]Column, error)
- func (c *Connection) Count() (int64, error)
- func (c *Connection) Databases() ([]string, error)
- func (c *Connection) Delete() (err error)
- func (c *Connection) Distinct(on ...string) *Connection
- func (c *Connection) EnumValues(name string) ([]string, error)
- func (c *Connection) Enums() (map[string][]string, error)
- func (c *Connection) Exists() (bool, error)
- func (c *Connection) First() (Tabler, error)
- func (c *Connection) FullJoin(table, alias, condition string) *Connection
- func (c *Connection) GroupBy(column string, columns ...string) *Connection
- func (c *Connection) GroupWhere(f func(c *Connection)) *Connection
- func (c *Connection) Insert(data map[string]interface{}) (id int64, err error)
- func (c *Connection) Join(table, alias, condition string) *Connection
- func (c *Connection) LeftJoin(table, alias, condition string) *Connection
- func (c *Connection) Limit(limit int) *Connection
- func (c *Connection) Offset(offset int) *Connection
- func (c *Connection) OrGroupWhere(f func(c *Connection)) *Connection
- func (c *Connection) OrWhere(column, operator string, value interface{}) *Connection
- func (c *Connection) OrWhereBetween(column string, from, to interface{}) *Connection
- func (c *Connection) OrWhereIn(column string, values *WhereInValues) *Connection
- func (c *Connection) OrWhereNotIn(column string, values *WhereInValues) *Connection
- func (c *Connection) OrWhereRaw(sql string, bindings ...interface{}) *Connection
- func (c *Connection) OrderBy(column, order string) *Connection
- func (c *Connection) OrderByRand() *Connection
- func (c *Connection) OrderByRaw(orderRaw string) *Connection
- func (c *Connection) Query(query string, args ...interface{}) (rows *Rows, err error)
- func (c *Connection) RightJoin(table, alias, condition string) *Connection
- func (c *Connection) Select() (rows *Rows, err error)
- func (c *Connection) Sum(column string) (float64, error)
- func (c *Connection) Tables() ([]string, error)
- func (c *Connection) Union(all bool, queries ...*Connection) *Connection
- func (c *Connection) Update(data map[string]interface{}) (err error)
- func (c *Connection) Where(column, operator string, value interface{}) *Connection
- func (c *Connection) WhereBetween(column string, from, to interface{}) *Connection
- func (c *Connection) WhereIn(column string, values *WhereInValues) *Connection
- func (c *Connection) WhereNotIn(column string, values *WhereInValues) *Connection
- func (c *Connection) WhereRaw(sql string, bindings ...interface{}) *Connection
- func (c *Connection) Write(data map[string]interface{}) (id int64, err error)
- type Model
- type Rows
- type Tabler
- type WhereInValues
- func (w *WhereInValues) Int(in ...int) *WhereInValues
- func (w *WhereInValues) Int64(in ...int64) *WhereInValues
- func (w *WhereInValues) Interface(in ...interface{}) *WhereInValues
- func (w *WhereInValues) Sql(args []interface{}) (string, []interface{})
- func (w *WhereInValues) String(in ...string) *WhereInValues
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddConnection ¶
AddConnection Добавит существующее подключение в коллекцию
func MigrationsPath ¶
MigrationsPath Вернёт путь к директории с миграциями для
func NewConnection ¶
func NewConnection(connectionName string, conf pgx.ConnConfig, maxConnections int, migrationsPath string) error
NewConnection Создаст новое подключение к БД
Types ¶
type Connection ¶
type Connection struct {
// contains filtered or unexported fields
}
Connection соединение
func (*Connection) BuildCount ¶
func (c *Connection) BuildCount() (string, []interface{})
BuildCount Вернёт строку запроса и аргументы
func (*Connection) BuildSelect ¶
func (c *Connection) BuildSelect() (string, []interface{})
BuildSelect Вернёт строку запроса и аргументы
func (*Connection) BuildSum ¶
func (c *Connection) BuildSum(column string) (string, []interface{})
BuildSum Вернёт строку запроса и аргументы
func (*Connection) Columns ¶
func (c *Connection) Columns() ([]Column, error)
Columns Вернёт список колонок текущей таблицы
func (*Connection) Count ¶
func (c *Connection) Count() (int64, error)
Count Получить количество записей
func (*Connection) Databases ¶
func (c *Connection) Databases() ([]string, error)
Databases Список баз данных
func (*Connection) Distinct ¶
func (c *Connection) Distinct(on ...string) *Connection
Distinct Удаление дублей
func (*Connection) EnumValues ¶
func (c *Connection) EnumValues(name string) ([]string, error)
EnumValues Вернёт доступные значения для типа ENUM
func (*Connection) Enums ¶
func (c *Connection) Enums() (map[string][]string, error)
Enums Вернёт доступные перечисления
func (*Connection) Exists ¶
func (c *Connection) Exists() (bool, error)
Exists Проверка наличия записи в базе
func (*Connection) First ¶
func (c *Connection) First() (Tabler, error)
First Получить первую запись
func (*Connection) FullJoin ¶
func (c *Connection) FullJoin(table, alias, condition string) *Connection
FullJoin Присоединит таблицу FULL OUTER JOIN
func (*Connection) GroupBy ¶
func (c *Connection) GroupBy(column string, columns ...string) *Connection
GroupBy Группировка по колонкам
func (*Connection) GroupWhere ¶
func (c *Connection) GroupWhere(f func(c *Connection)) *Connection
GroupWhere Добавит групповое условие WHERE через AND
func (*Connection) Insert ¶
func (c *Connection) Insert(data map[string]interface{}) (id int64, err error)
Insert Вставка записи в БД
func (*Connection) Join ¶
func (c *Connection) Join(table, alias, condition string) *Connection
Join Присоединит таблицу INNER JOIN
func (*Connection) LeftJoin ¶
func (c *Connection) LeftJoin(table, alias, condition string) *Connection
LeftJoin Присоединит таблицу LEFT OUTER JOIN
func (*Connection) Limit ¶
func (c *Connection) Limit(limit int) *Connection
Limit Выбрать limit записей
func (*Connection) Offset ¶
func (c *Connection) Offset(offset int) *Connection
Offset Пропустить offset записей
func (*Connection) OrGroupWhere ¶
func (c *Connection) OrGroupWhere(f func(c *Connection)) *Connection
OrGroupWhere Добавит групповое условие WHERE через OR
func (*Connection) OrWhere ¶
func (c *Connection) OrWhere(column, operator string, value interface{}) *Connection
OrWhere Добавит условие WHERE через OR
func (*Connection) OrWhereBetween ¶
func (c *Connection) OrWhereBetween(column string, from, to interface{}) *Connection
OrWhereBetween Добавит условие WHERE BETWEEN через OR
func (*Connection) OrWhereIn ¶
func (c *Connection) OrWhereIn(column string, values *WhereInValues) *Connection
OrWhereIn Добавит условие WHERE IN через OR
func (*Connection) OrWhereNotIn ¶
func (c *Connection) OrWhereNotIn(column string, values *WhereInValues) *Connection
OrWhereNotIn Добавит условие WHERE NOT IN через OR
func (*Connection) OrWhereRaw ¶
func (c *Connection) OrWhereRaw(sql string, bindings ...interface{}) *Connection
OrWhereRaw Произвольное условие WHERE через OR
func (*Connection) OrderBy ¶
func (c *Connection) OrderBy(column, order string) *Connection
OrderBy Отсортировать по
func (*Connection) OrderByRand ¶
func (c *Connection) OrderByRand() *Connection
OrderByRand Отсортировать в случайном порядке
func (*Connection) OrderByRaw ¶
func (c *Connection) OrderByRaw(orderRaw string) *Connection
OrderByRaw Произвольная сортировка
func (*Connection) Query ¶
func (c *Connection) Query(query string, args ...interface{}) (rows *Rows, err error)
Query запрос к БД
func (*Connection) RightJoin ¶
func (c *Connection) RightJoin(table, alias, condition string) *Connection
RightJoin Присоединит таблицу RIGHT OUTER JOIN
func (*Connection) Select ¶
func (c *Connection) Select() (rows *Rows, err error)
Select Получить записи
func (*Connection) Sum ¶
func (c *Connection) Sum(column string) (float64, error)
Sum Получить сумму записей
func (*Connection) Tables ¶
func (c *Connection) Tables() ([]string, error)
Tables Вернёт список таблиц в базе данных
func (*Connection) Union ¶
func (c *Connection) Union(all bool, queries ...*Connection) *Connection
Union Объединение запросов
func (*Connection) Update ¶
func (c *Connection) Update(data map[string]interface{}) (err error)
Update Изменение записи в БД
func (*Connection) Where ¶
func (c *Connection) Where(column, operator string, value interface{}) *Connection
Where Добавит условие WHERE через AND
func (*Connection) WhereBetween ¶
func (c *Connection) WhereBetween(column string, from, to interface{}) *Connection
WhereBetween Добавит условие WHERE BETWEEN через AND
func (*Connection) WhereIn ¶
func (c *Connection) WhereIn(column string, values *WhereInValues) *Connection
WhereIn Добавит условие WHERE IN через AND
func (*Connection) WhereNotIn ¶
func (c *Connection) WhereNotIn(column string, values *WhereInValues) *Connection
WhereNotIn Добавит условие WHERE NOT IN через AND
func (*Connection) WhereRaw ¶
func (c *Connection) WhereRaw(sql string, bindings ...interface{}) *Connection
WhereRaw Произвольное условие WHERE через AND
type Model ¶
type Model struct { ID int64 `json:"id"` //... CreatedAt xpgtypes.NullTime `json:"created_at"` UpdatedAt xpgtypes.NullTime `json:"updated_at"` }
Model базовая модель соответствующая минимально требуемой структуре Tabler
func (*Model) Connection ¶
Connection Возвращает название подключения к БД
type Rows ¶
Rows Интерфейс для хранения результата запроса к БД
type Tabler ¶
type Tabler interface { Table() string Columns() string Connection() (name string) Scan(rows *pgx.Rows) (tabler Tabler, err error) Save() (err error) Delete() (err error) }
Tabler интерфейс модели
type WhereInValues ¶
type WhereInValues struct {
// contains filtered or unexported fields
}
WhereInValues Адаптор для передачи слайсов, в запрос WHERE IN
func (*WhereInValues) Int ¶
func (w *WhereInValues) Int(in ...int) *WhereInValues
Int Загрузка ...int
func (*WhereInValues) Int64 ¶
func (w *WhereInValues) Int64(in ...int64) *WhereInValues
Int64 Загрузка ...int64
func (*WhereInValues) Interface ¶
func (w *WhereInValues) Interface(in ...interface{}) *WhereInValues
Interface Загрузка ...interface{}
func (*WhereInValues) Sql ¶
func (w *WhereInValues) Sql(args []interface{}) (string, []interface{})
Sql Вернёт подготовленную строку запроса и дополненный слайс аргументов
func (*WhereInValues) String ¶
func (w *WhereInValues) String(in ...string) *WhereInValues
String Загрузка ...string