Implement Dashboard Versioning & Rollback

Description:
Store historical versions of dashboards on each update. Users can view previous versions and rollback. Consider partitioning or other strategies to handle growth in historical versions efficiently.

Acceptance Criteria:

  • Each dashboard update creates a new row in dashboard_versions with incremented version number.
  • Ability to query versions via GraphQL (dashboardVersions(dashboardId)).
  • Rollback mutation: rollbackDashboard(dashboardId, versionNumber) creates a new version with previous config.
  • Version history includes metadata: created_by, created_at, change_summary, checksum.
  • Partitioning or archiving strategy considered for very large version history.
  • Unit and integration tests for versioning and rollback.
Edited by 🤖 GitLab Bot 🤖