Версионирование профилей

Версионирование профилей#

Назначение#

Единый контур версий для poultry-профилей (climate, feed_program, water_profile), поддерживающий публикацию и rollback.

Таблица#

poultry_profile_version

Поля:

  • id (PK)

  • tenant_id, site_id

  • profile_type (climate_profile|feed_program|water_profile)

  • profile_id

  • version_id

  • state (draft|published|archived)

  • change_note

  • rollback_of (version_id, если версия создана rollback-операцией)

  • created_by

  • created_at

DTO: ProfileVersionDTO (backend-go/internal/domain/poultry/model_profile_version.go).

Правила#

  • внутри profile_type + profile_id версия должна быть уникальной;

  • published версия единственная активная в пределах tenant/site/profile;

  • rollback создает новую версию с rollback_of=<target_version_id>.