Библиотека, описывающая структуру всех баз данных профкома ФФ. Реализована с помощью разделения всех баз данных в 4 категории - STG, DWH, ODS и DM.
python3 -m venv ./venv/
pip install -r requirements.txt
В своих базах данных мы используем postgres базы данных. Для того чтобы использовать данный репозиторий необходимо сделать несколько предварительных шагов
Проделай пункты из "Как начать работу локально" отсюда: https://github.com/profcomff/dwh-airflow
Склонируй этот репозиторий на свой компьютер командой git clone https://github.com/profcomff/dwh-definitions
Создай виртуальное окружение Python. Для этого нужно:
python -m ensurepip --upgrade
)dwh-definitions
новое виртуальное окружение python3.11 (команда в консоли python3.11 -m venv venv
или python -m venv venv
)venv\Scripts\activate.bat
, на мак/линукс: source venv/bin/activate
)pip install -U -r requirements.dev.txt -r requirements.txt
Теперь у тебя на компьютере есть база данных, Airflow, описание базы данных в виде питона
Обнови схему базы данных командой alembic upgrade head
. Это создаст в базе данных все те же таблицы, что есть в production базе данных.
После этого в папках из /ddl можно создавать свои схемы таблиц. Пример таблицы можно посмотреть в /ddl/STG/union_member.py
Рассмотрим дальнейшие действия на примере тестовой таблицы Test. Допустим, что она лежит в /ddl/STG/test_table.py
from .test_table import Test
from .test_table import Test
all = ["Test"]
3. Если у вас несколько таблиц, то в \_\_all__ их надо перечислять через запятую. К примеру:
```python
from .test_file_first import TestFirst, TestTrird
from .test_file_second import TestSecond
__all__ = ["TestFirst", "TestSecond", "TestTrird"]
При этом порядок перечисления таблиц в __all__ не важен
alembic revision --autogenerate -m "название_вашей_миграции"
alembic upgrade head
Перва команда создает ревизию - скрипт для перехода на новую версию базы данных. Вторая команда обновляет базу данных (в данном случае создает новую таблицу Test)
Никаких настроек кроме стандартных нет