Help us shape the future of Go! Take the 2026 Go Developer Survey

config

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package config загружает настройки CLI gomigr из YAML и переменных окружения.

Используется только бинарём cmd/gomigr. Библиотечный фасад (корневой пакет gomigr) принимает Options напрямую и не зависит от этого пакета.

Index

Constants

View Source
const DefaultConfigPath = "./configs/config.yaml"

DefaultConfigPath — путь к YAML-конфигу, используемый CLI по умолчанию.

Variables

This section is empty.

Functions

func LoadMigrationsDir

func LoadMigrationsDir(configPath, flagOverride string) (string, error)

LoadMigrationsDir разрешает путь к директории миграций по тем же приоритетам, что и Load (defaults → YAML → ENV → CLI override), но без требования DSN. Используется командой `create`, которой БД не нужна.

Types

type Config

type Config struct {
	// DSN — строка подключения к PostgreSQL, обязательна.
	DSN string `yaml:"dsn"`
	// MigrationsDir — путь к директории с *.sql, по умолчанию ./migrations.
	MigrationsDir string `yaml:"migrations_dir"`
}

Config — итоговый набор параметров, полученный после применения всех источников.

func Load

func Load(configPath string, overrides Overrides) (Config, error)

Load собирает конфиг по правилам приоритета:

  1. defaults: MigrationsDir="./migrations", DSN — пустой.
  2. YAML по configPath. Если configPath пустой, используется DefaultConfigPath. Если файла нет — шаг пропускается без ошибки.
  3. Переменные окружения: GOMIGR_DSN, GOMIGR_MIGRATIONS_DIR.
  4. Overrides (CLI-флаги) — перекрывают всё остальное.

После сборки проверяется обязательность DSN. Если он пуст — возвращается ошибка.

type Overrides

type Overrides struct {
	DSN           string
	MigrationsDir string
}

Overrides — значения, перекрывающие YAML и ENV. Используется для CLI-флагов. Пустая строка означает «флаг не задан, не перекрывать».

Jump to

Keyboard shortcuts

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