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

## Назначение

Единый контур версий для 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>`.
