V88: Publishing schema V2 — restructure posts/versions/contents.
Posts become a minimal routing shell. Versions become the source of truth for published state and metadata. Contents hold per-language title + body.
Changes:
- Add
active_version_uuidto posts (FK → versions, nullable) - Add
trashed_atto posts (replaces status-based soft delete) - Add
published_atto versions (moved from posts) - Add
title_i18nanddescription_i18nJSONB to groups (for future i18n) - Data migration: populate new columns from existing data
- Drop legacy post columns:
scheduled_at,status,published_at,primary_language,data - Drop obsolete indexes (scheduled, group_status, group_published_at)
- Add new indexes for active_version_uuid, trashed_at, and version published_at