# `theme_versions`

**Module:** Theme

---

## Purpose

Versioned releases of each theme. Invitations pin a specific version to prevent breaking changes from affecting live invitations.

---

## Columns (Summary)

| Column | Notes |
|--------|-------|
| `id SMALLINT UNSIGNED AUTO_INCREMENT PK` | — |
| `theme_id SMALLINT UNSIGNED NOT NULL FK→themes` | — |
| `version_number VARCHAR(20) NOT NULL` | — |
| `is_breaking_change TINYINT(1) DEFAULT 0` | — |
| `changelog TEXT NULL` | — |
| `is_active TINYINT(1) DEFAULT 1` | — |
| `released_at DATETIME DEFAULT CURRENT_TIMESTAMP` | — |
| `sunset_at DATETIME NULL` | — |

---

## Referenced By

invitations(theme_version_id), theme_event_types(theme_version_id)

---

## Notes

See `docs/database/RELATIONSHIP.md` for full entity relationships and `database/schema.sql` for authoritative DDL.
