Documentation
¶
Index ¶
- Variables
- func Free()
- func NewLoggerGorm(parent *impl) gormLogger.Interface
- type Error
- type Implementation
- func (db *Implementation) Gist() Interface
- func (db *Implementation) Gorm(opts ...*Option) (ret *gorm.DB)
- func (db *Implementation) OptionSilent() *Option
- func (db *Implementation) QAs(obj ModelGorm, name string, as string) (ret string)
- func (db *Implementation) QErr(err error) error
- func (db *Implementation) QFn(obj ModelGorm, field string) (ret string)
- func (db *Implementation) QJoin(obj ModelGorm, o1 ModelGorm, f1 string, o2 ModelGorm, f2 string) (ret string)
- func (db *Implementation) QJoinAs(obj ModelGorm, as string, o1 ModelGorm, f1 string, o2 ModelGorm, f2 string) (ret string)
- func (db *Implementation) QWh(obj ModelGorm, name string, where string) (ret string)
- func (db *Implementation) Sqlx() *sqlx.DB
- type Interface
- type ModelGorm
- type Option
Constants ¶
This section is empty.
Variables ¶
var ( // Errors Справочник ошибок. Errors = func() *Error { return errSingleton } )
Functions ¶
func Free ¶
func Free()
Free Освобождает соединение работы с базой данных. Объект работы с базой данных полностью удаляется из памяти.
func NewLoggerGorm ¶
func NewLoggerGorm(parent *impl) gormLogger.Interface
NewLoggerGorm Создание объекта с интерфейсом gorm.logger.Interface.
Types ¶
type Error ¶
type Error struct {
dic.Errors
// ConfigurationIsEmpty Конфигурация подключения к базе данных пустая.
ConfigurationIsEmpty dic.IError
// UnknownDatabaseDriver Указан неизвестный или не поддерживаемый драйвер базы данных: ...
UnknownDatabaseDriver dic.IError
// UsernameIsEmpty Не указано имя пользователя, для подключения к базе данных.
UsernameIsEmpty dic.IError
// WrongConnectionType Указан неизвестный или не поддерживаемый способ подключения к базе данных: ...
WrongConnectionType dic.IError
// ConnectError Подключение к базе данных завершилось ошибкой: ...
ConnectError dic.IError
// DriverUnImplemented Подключение к базе данных с помощью драйвера ... не создано.
DriverUnImplemented dic.IError
// ApplyMigration Применение новых миграций базы данных прервано, файл миграции ..., ошибка: ...
ApplyMigration dic.IError
// UnknownDialect Применение миграций базы данных, настройка диалекта ... прервано ошибкой: ...
UnknownDialect dic.IError
}
Error Структура справочника ошибок.
type Implementation ¶
type Implementation struct {
// contains filtered or unexported fields
}
Implementation Встраиваемая структура в модель базы данных, для лёгкого подключения "по требованию" к базе данных.
func (*Implementation) Gist ¶
func (db *Implementation) Gist() Interface
Gist Возвращается настроенный и готовый к работе интерфейс подключения к базе данных.
func (*Implementation) Gorm ¶
func (db *Implementation) Gorm(opts ...*Option) (ret *gorm.DB)
Gorm Возвращается настроенный и готовый к работе объект ORM gorm.io/gorm.
func (*Implementation) OptionSilent ¶
func (db *Implementation) OptionSilent() *Option
OptionSilent Полное отключение логирования запросов к базе данных.
func (*Implementation) QAs ¶ added in v4.6.1
func (db *Implementation) QAs(obj ModelGorm, name string, as string) (ret string)
QAs Создание строки с полным именем колонки таблицы вместе с именем таблицы и новым временным именем.
func (*Implementation) QErr ¶ added in v4.6.1
func (db *Implementation) QErr(err error) error
QErr Создание единообразной непредвиденной ошибки
func (*Implementation) QFn ¶ added in v4.6.1
func (db *Implementation) QFn(obj ModelGorm, field string) (ret string)
QFn Создание строки с полным именем колонки таблицы вместе с именем таблицы.
func (*Implementation) QJoin ¶ added in v4.6.1
func (db *Implementation) QJoin(obj ModelGorm, o1 ModelGorm, f1 string, o2 ModelGorm, f2 string) (ret string)
QJoin Создание строки запроса LEFT OUTER JOIN.
func (*Implementation) QJoinAs ¶ added in v4.6.1
func (db *Implementation) QJoinAs(obj ModelGorm, as string, o1 ModelGorm, f1 string, o2 ModelGorm, f2 string) (ret string)
QJoinAs Создание строки запроса LEFT OUTER JOIN.
func (*Implementation) QWh ¶ added in v4.6.1
func (db *Implementation) QWh(obj ModelGorm, name string, where string) (ret string)
QWh Создание строки запроса для WHERE.
func (*Implementation) Sqlx ¶
func (db *Implementation) Sqlx() *sqlx.DB
Sqlx Настроенный и готовый к работе объект обёртки над соединением с БД github.com/jmoiron/sqlx.
type Interface ¶
type Interface interface {
// Close Закрытие соединения с базой данных.
Close() (err error)
// E Ошибка соединения с базой данных.
// Если err==nil - база данных доступна, соединение активно, ошибок нет.
// Если err!=nil - есть проблема с соединением с базой данных.
E() (err error)
// Status Возвращает состояние подключения к базе данных.
Status() (ret *sql.DBStats)
// SqlDB Настроенный и готовый к работе бассейн соединений database/sql.
// Если возвращается nil - есть ошибки, ошибка доступна в функции E()
SqlDB() (ret *sql.DB)
// GormDB Настроенный и готовый к работе объект ORM gorm.io/gorm.
// Если возвращается nil - есть ошибки, ошибка доступна в функции E()
GormDB() (ret *gorm.DB)
// SqlxDB Настроенный и готовый к работе объект обёртки над соединением с БД github.com/jmoiron/sqlx.
// Если возвращается nil - есть ошибки, ошибка доступна в функции E()
SqlxDB() (ret *sqlx.DB)
// MigrationUp Применение миграций базы данных.
MigrationUp() (err error)
// Errors Справочник ошибок.
Errors() *Error
}
Interface Интерфейс пакета.
func Get ¶
func Get() Interface
Get Возвращается интерфейс для работы с базой данных. Если база данных доступна, тогда возвращается полностью настроенное и готовое к работе соединение с базой данных. Если база данных не доступна, тогда возвращается объект, методы которого заблокированы до момента установки соединения с базой данных. Параллельно запущен процесс подключения к базе данных, по окончании которого, блокировка методов объекта снимается.
type ModelGorm ¶ added in v4.6.1
type ModelGorm interface {
// TableName Явное указание названия таблицы.
TableName() string
// BeforeCreate Функция вызываемая до создания нового объекта в базе данных.
BeforeCreate(tx *gorm.DB) (err error)
// BeforeUpdate Функция вызываемая до обновления объекта в базе данных.
BeforeUpdate(tx *gorm.DB) (err error)
}
ModelGorm Минимальный обязательный интерфейс объекта модели.