Перейти к содержанию

Старт нового проекта

Миграция

Создаёт и обновляет базовые таблицы (пользователи, группы, уровни иерархии, параметры, измерения, меры и т.д.). Таблицы фактов и dim-таблицы создаются отдельно в рамках работы с параметрами и иерархиями. Выполняется при разворачивании нового приложения и при каждом изменении (при работе из Docker автоматически в ином случае требуется ручной запуск).

python manage.py migrate

Создание суперпользователя

python manage.py createsuperuser

Далее в консоли потребуется ввести

  • имя пользователя (обязательно)
  • адрес электронной почты (опционально)
  • пароль (обязательно)
  • подтверждение пароля (обязательно)

Загрузка мета-данных

Выполнить все последующие шаги одной командой

python manage.py initializeproject <start-date> <end-date> [add_tech_week]
  • <start-date> — начальная дата (формат YYYY-MM-DD)
  • <end-date> — конечная дата (формат YYYY-MM-DD)
  • [add_tech_week] — опциональный аргумент (true/false), включает технические недели в календаре. По умолчанию false (технические недели не создаются).

Примеры:

python manage.py initializeproject 2024-01-01 2024-12-31           # без технических недель
python manage.py initializeproject 2024-01-01 2024-12-31 true      # с техническими неделями

Мета-данные определяют бизнес-модель (иерархии, измерения, меры, параметры, скрипты бизнес-логики).

Если данные загружаются из фикстур, обратите внимание, что фикстуры будут загружаться в том порядке, в котором стоят приложения в settings.INSTALLED_APPS.

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

Структура проекта, расширяющего функциональность стандартных модулей demand_planning и supply_planning

project/
├── fixtures/
│   ├── hierarchy.yaml
│   ├── parameters.yaml
│   ...
├── site-packages/
│   ├── planiqum/
│   │   ├── apps/
│   │   │   ├── demand_planning/
│   │   │   │   ├── fixtures/
│   │   │   │   │   ├── hierarchy.yaml
│   │   │   │   │   ├── parameters.yaml
│   │   │   ├── supply_planning/
│   │   │   │   ├── fixtures/
│   │   │   │   │   ├── hierarchy.yaml
│   │   │   │   │   ├── parameters.yaml

.env

CUSTOM_INSTALLED_APPS=planqium.apps.demand_planning,planiqum.apps.supply_planning,project

Сценарии бизнес-логики

python manage.py collectscripts

Календари

python manage.py generatecalendar <start-date> <end-date>

Даты задаются в формате 'YYYY-MM-DD'.

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

Подробнее см. Генерация календаря (generatecalendar, generate_calendar)

Если требуется добавить нестандартные календари, это можно сделать на следующих шагах, добавив необходимые уровни иерархии.

Иерархии

Структура иерархии определяется содержимым моделей planiqum.core.hierarchy.models.Type и planiqum.core.hierarchy.models.Level. Для заполнения этих моделей используется стандартный механизм "фикстур" Django.

python manage.py loadhierarchy <fixture1> <fixture2>

По команде будут загружены данные из фикстур и проведена синхронизация иерархии.

Если не указать аргументы, будут загружаться данные из фикстуры hierarchy.yaml.

В иерархиях не нужно описывать календари, они создаются автоматически.

Параметры

Измерения, параметры, меры

python manage.py loadparameters <fixture1> <fixture2>

Загружаются данные из фикстур, выполняется синхронизация fact-таблиц.

Если не указаны фикстуры, данные загружаются из фикстуры parameters.yaml.

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

Стили

Стили для форматирования таблиц, включая reaonly/readwrite. Загружаются из фикстуры.

python manage.py loaddata styles