Add paper trail to user seat assignment models

What does this MR do and why?

Setup paper_trail gem for UserAddOnSeatAssignment model. The historical data will later be ingested into ClicKHouse and used to filter seat assignment data on GraphQL endpoints.

A separate table stores historical data instead of having the default polymorphic association from paper_trail.

related to #490932 (closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Create a UserAddOnSeatAssignment record. This can be achieved following these steps or by manually creating records on Rails console.
  2. Check if the version was persisted correctly
  GitlabSubscriptions::UserAddOnAssignment.last.versions
Edited by Felipe Cardozo

Merge request reports

Loading