Доброго дня!
Наверно, “инфраструктура” слишком громко сказано)
Интегрировал в проект sqlite бд и создал небольшой модуль реализующий основные действия - CRUD. Теперь встал вопрос об удобстве использование сего в проекте.
Например, есть таблица с пользователями, для которой есть ряд столбцов: name, nick, role и т.п.
Для получения инфы из неё есть метод - get_user(name), который возвращает список словарей (где ключ - название столбца, значение - значение) по найденному имени. Из данного словаря по ключу забираем нужное значение. Тут возникает трудность, т.к. с проектом работаю не я один, а другие участники могут не знать структуру базы, да и самому каждый раз лазить, чтобы вспомнить точное название столбца такое себе. Варианта вижу два:
1. Описать доп. модуль для каждой таблицы, для каждого столбца (решение прямо скажем полное минусов, во-первых, из-за трудоемкости, во-вторых, в случае изменения структуры опять же менять кучу методов)
2. Опять же описать доп.модуль, но описать названия столбцов в виде переменных, в методах уже ими оперировать, решение чуть приятнее и в случае изменения структуры менять только значения переменных.
Есть ли иные более приятные решения, либо подходящие паттерны?
Надеюсь все дожили до конца этого трактата)