Код: Выделить всё
app/
├── backend/
│ └── main.py
├── models/
│ └── my_model.py
└── utils/
└── enums.py
Код: Выделить всё
main.py
utils/enums.py:
Код: Выделить всё
def create_schema_names(prefix: str) -> Type[Enum]:
class SchemaNames(str, Enum):
RAW = prefix + "_RAW"
STAGING = prefix + "_STAGING"
TRANSFORMED = prefix + "_TRANSFORMED"
return SchemaNames
Проблема:
Импорт имен схем в my_model.py< /код> приводит к циклическим зависимостям, поскольку конфигурация определена в main.py.
Я хочу избежать использования глобальных переменных путем глобального экспорта имен схем.
Как Могу ли я динамически создавать перечисление SchemaNames на основе конфигурации среды выполнения и использовать его в моделях SQLAlchemy, не вызывая циклических зависимостей и не полагаясь на глобальный экспорт? Какой передовой подход существует для этого?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ls-without