sql_generator

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2023 License: MIT Imports: 11 Imported by: 0

README

Генерация SQL запроса.

Компонент основан на пакете https://github.com/doug-martin/goqu.

Компонент автоматически конфигурирует генератор SQL запроса, под диалект определенной СУБД, основываясь на данных в объекте конфигурации компонента Клиент для баз данных.

В контейнере объектов, доступна ссылка на объект github.com/doug-martin/goqu/v9/DialectWrapper.

Важно. Генератор SQL запросов использует контейнер объектов, для получения объекта конфигурации компонента Клиент для баз данных, если пакет Клиент для баз данных используется полноценно, то получение определение диалекта СУБД пройдет автоматически, если используется клиент под определенную СУБД, необходимо в ручную, указать тип клиента в объект конфигурации на этапе конфигурирования приложения, для успешного определения диалекта.

Все поддерживаемые СУБД перечислены в пакете Клиент для баз данных.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Component = &app.Component{
	Dependencies: app.Components{
		logger.Component,
		configurator.Component,
		client.Component,
	},
	Constructor: func(container container.Container) error {
		return container.Provides(
			NewReConfiguration,
			func(reConfiguration *ReConfiguration) Generator { return reConfiguration },
		)
	},
	Run: func(c container.Container) error {
		generator, err := container.Get[*ReConfiguration](c)
		if err != nil {
			return err
		}

		reConfiguration, err := container.Get[configurator.ReConfiguration](c)
		if err != nil {
			return err
		}

		informer, err := container.Get[logger.Informer](c)
		if err != nil {
			return err
		}

		reConfiguration.Registration(generator)
		informer.Info("sql-generator: registration in the reConfigurator")

		return nil
	},
}

Functions

func New

func New(db client.DataBase, informer logger.Informer) (*goqu.DialectWrapper, error)

Types

type Generator

type Generator interface {
	From(table ...interface{}) *goqu.SelectDataset
	Select(cols ...interface{}) *goqu.SelectDataset
	Update(table interface{}) *goqu.UpdateDataset
	Insert(table interface{}) *goqu.InsertDataset
	Delete(table interface{}) *goqu.DeleteDataset
	Truncate(table ...interface{}) *goqu.TruncateDataset
}

type ReConfiguration

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

func NewReConfiguration

func NewReConfiguration(db client.DataBase, informer logger.Informer) (*ReConfiguration, error)

func (*ReConfiguration) Delete

func (reConfiguration *ReConfiguration) Delete(table interface{}) *goqu.DeleteDataset

func (*ReConfiguration) From

func (reConfiguration *ReConfiguration) From(table ...interface{}) *goqu.SelectDataset

func (*ReConfiguration) Generator

func (reConfiguration *ReConfiguration) Generator() *goqu.DialectWrapper

func (*ReConfiguration) Insert

func (reConfiguration *ReConfiguration) Insert(table interface{}) *goqu.InsertDataset

func (*ReConfiguration) ReConfiguration

func (reConfiguration *ReConfiguration) ReConfiguration(_ configurator.Configurator) error

func (*ReConfiguration) Select

func (reConfiguration *ReConfiguration) Select(cols ...interface{}) *goqu.SelectDataset

func (*ReConfiguration) Truncate

func (reConfiguration *ReConfiguration) Truncate(table ...interface{}) *goqu.TruncateDataset

func (*ReConfiguration) Update

func (reConfiguration *ReConfiguration) Update(table interface{}) *goqu.UpdateDataset

Jump to

Keyboard shortcuts

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