lamoda/gonkey

Рефакторинг модуля с фикстурами и добавление возможности использовать переменные

ikramanop opened this issue · 1 comments

Текущая реализация модуля по работе с фикстурами основывается на использовании интерфейса Loader и его реализации для каждого конкретного типа фикстур.

Предлагаю переделать это на использование универсального парсера формата фикстур, так, чтобы не приходилось для каждой отдельной базы писать свой парсер.

Например, можно задавать структуру некоторого вида, согласно которой будет парситься yaml файл с описанием фикстуры.

type PostgresFixture struct {
    Inherits []string `yaml:inherits`
    Tables map[string]interface `yaml:tables`
}

Затем такое описание передавать в парсер, который будет конвертировать в некоторую унифицированную структуру, в которой можно будет подменять поля с переменными и т.д.

А ещё, возможно в этот рефактор добавить возможность увязывать несколько шаблонов в одну сущность, чтобы можно было создавать записи логически связанные друг с другом, но требующие записи в разных таблицах.