sqlite

package
v1.6.13 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2023 License: MIT Imports: 14 Imported by: 0

README

SQLite

Компонент, который позволяет подключаться к SQLite.

Реализует интерфейс Connector который наследуется от интерфейса driver.Connector, который доступен в контейнере объектов если этот компонент используется напрямую.

Пакет предоставляет метод NewDataBase, который возвращает ссылку на объект sql.DB, который будет сконфигурирован на основе коннектора из этого пакета.

Объект конфигурации.
type Config struct {
	DSN string
}

Описание полей:

Поле Описание Значение по умолчанию
DSN Строка подключения к SQLite, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --db.sqlite.dsn
- переменная окружения DB_SQLITE_DSN
- значение в конфиг файле db.sqlite.dsn
<os_temp_dir>/db

Documentation

Index

Constants

View Source
const (
	DsnFieldName = "db.sqlite.dsn"
)

Variables

View Source
var Component = &app.Component{
	Dependencies: app.Components{
		logger.Component,
		configurator.Component,
		re_configuration.Component,
	},
	Constructor: func(container container.Container) error {
		return container.Provides(
			NewConfig,
			NewReConfigurationWithConfigurator,
		)
	},
	BindFlags: func(flagSet *pflag.FlagSet, container container.Container) error {
		return container.Invoke(func(config *Config) {
			flagSet.StringVar(&config.DSN, DsnFieldName, DsnDefault, "sqlite database connection string")
		})
	},
	Run: func(c container.Container) error {
		sqlite, 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(sqlite)
		informer.Info("data_base.sqlite: registration in the reConfigurator")

		return nil
	},
}
View Source
var (
	DsnDefault = filepath.Join(os.TempDir(), "db")
)

Functions

func NewConnector

func NewConnector(dsn string) driver.Connector

Types

type Config

type Config struct {
	DSN string
}

func Configuration

func Configuration(config *Config, configurator configurator.Configurator) *Config

func NewConfig

func NewConfig() *Config

type ReConfiguration

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

func NewReConfiguration

func NewReConfiguration(logger logger.Logger, config *Config) *ReConfiguration

func NewReConfigurationWithConfigurator

func NewReConfigurationWithConfigurator(logger logger.Logger, config *Config, configurator configurator.Configurator) *ReConfiguration

func (*ReConfiguration) Close

func (reConfiguration *ReConfiguration) Close() error

func (*ReConfiguration) DriverName

func (reConfiguration *ReConfiguration) DriverName() string

func (*ReConfiguration) Exec

func (reConfiguration *ReConfiguration) Exec(s string, i ...interface{}) (sql.Result, error)

func (*ReConfiguration) ExecContext

func (reConfiguration *ReConfiguration) ExecContext(ctx context.Context, s string, i ...interface{}) (sql.Result, error)

func (*ReConfiguration) Query

func (reConfiguration *ReConfiguration) Query(s string, i ...interface{}) (*sql.Rows, error)

func (*ReConfiguration) QueryContext

func (reConfiguration *ReConfiguration) QueryContext(ctx context.Context, s string, i ...interface{}) (*sql.Rows, error)

func (*ReConfiguration) QueryRow

func (reConfiguration *ReConfiguration) QueryRow(s string, i ...interface{}) *sql.Row

func (*ReConfiguration) QueryRowContext

func (reConfiguration *ReConfiguration) QueryRowContext(ctx context.Context, s string, i ...interface{}) *sql.Row

func (*ReConfiguration) ReConfiguration

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

func (*ReConfiguration) SQL

func (reConfiguration *ReConfiguration) SQL() *sql.DB

func (*ReConfiguration) SQLite

func (reConfiguration *ReConfiguration) SQLite() *SQLite

type SQLite

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

func NewSQLite

func NewSQLite(logger logger.Logger, config *Config) *SQLite

func NewSQLiteWithConfigurator

func NewSQLiteWithConfigurator(logger logger.Logger, config *Config, configurator configurator.Configurator) *SQLite

func (*SQLite) Close

func (sqlite *SQLite) Close() error

func (*SQLite) DriverName

func (sqlite *SQLite) DriverName() string

func (*SQLite) Exec

func (sqlite *SQLite) Exec(s string, i ...interface{}) (sql.Result, error)

func (*SQLite) ExecContext

func (sqlite *SQLite) ExecContext(ctx context.Context, s string, i ...interface{}) (sql.Result, error)

func (*SQLite) Query

func (sqlite *SQLite) Query(s string, i ...interface{}) (*sql.Rows, error)

func (*SQLite) QueryContext

func (sqlite *SQLite) QueryContext(ctx context.Context, s string, i ...interface{}) (*sql.Rows, error)

func (*SQLite) QueryRow

func (sqlite *SQLite) QueryRow(s string, i ...interface{}) *sql.Row

func (*SQLite) QueryRowContext

func (sqlite *SQLite) QueryRowContext(ctx context.Context, s string, i ...interface{}) *sql.Row

func (*SQLite) SQL

func (sqlite *SQLite) SQL() *sql.DB

Jump to

Keyboard shortcuts

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