# `MishkaCmsCore.Runtime.Resources.Mixins.MediaPaperTrailMixin`
[🔗](https://github.com/mishka-group/mishka_cms_core/blob/v0.0.1/lib/mishka_cms_core/runtime/resources/__mixins/media_paper_trail_mixin.ex#L5)

Mixin for configuring PaperTrail version tracking on Media resources.

This mixin provides the database and action configuration needed for the
PaperTrail extension to track media versions. It defines the version table
structure, database relationships, and actions required for version management,
ensuring consistent configuration across the media versioning system.

The mixin sets up the 'media_versions' table with proper foreign key references
that cascade delete when the source media is removed. It also defines a bypass
action for retrieving versions without tenant restrictions, enabling cross-site
version access for administrative purposes.

By using a mixin approach, the versioning configuration is kept separate from
the main Media resource definition, improving maintainability and allowing the
versioning setup to be reused or modified independently. The configuration ensures
that media history is properly tracked while maintaining referential integrity.

# `postgres`

Generates the PostgreSQL configuration for media version tracking.

Returns quoted code that defines the version table, repository, and
foreign key relationships with cascade delete behavior.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
