Documentation
¶
Overview ¶
Package config загружает настройки CLI gomigr из YAML и переменных окружения.
Используется только бинарём cmd/gomigr. Библиотечный фасад (корневой пакет gomigr) принимает Options напрямую и не зависит от этого пакета.
Index ¶
Constants ¶
const DefaultConfigPath = "./configs/config.yaml"
DefaultConfigPath — путь к YAML-конфигу, используемый CLI по умолчанию.
Variables ¶
This section is empty.
Functions ¶
func LoadMigrationsDir ¶
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 ¶
Load собирает конфиг по правилам приоритета:
- defaults: MigrationsDir="./migrations", DSN — пустой.
- YAML по configPath. Если configPath пустой, используется DefaultConfigPath. Если файла нет — шаг пропускается без ошибки.
- Переменные окружения: GOMIGR_DSN, GOMIGR_MIGRATIONS_DIR.
- Overrides (CLI-флаги) — перекрывают всё остальное.
После сборки проверяется обязательность DSN. Если он пуст — возвращается ошибка.