Stop modifying expired Order/Trial records during expiry process

Background

Currently, when trials expire, we modify the expired records by setting product_rate_plan_id to nil or free-plan-id and quantity to 0 in the expire order trial job.

I think the original reason for this modification was likely to allow Order records to be reused for the same namespace.

Problem

With the ongoing effort to move GitLab.com trials from Order table to Trial table (#12719), and the introduction of multi-orders per namespace, the need to modify expired trial records may no longer be necessary.

Proposed Investigation

We should investigate whether we can:

  1. Keep expired Trial records unchanged - This would be consistent with Self-managed Trial behavior
  2. Stop modifying expired PAID Order records - Since we now support multi-orders per namespace, we may no longer need to reuse expired Order records
  3. Stop creating new TrialHistory records - if we keep expired Trial records, we do not need to create new TrialHistory any more.
    • However, this could be tricky as we may NOT want/able to backfill existing TrialHistory to Trial table. Then we need to search both Trial table and TrialHistory table to get all trial history information for a given namespace.

Benefits

  • Consistency: Align GitLab.com trial behavior with Self-managed trials
  • Simplified logic: Remove unnecessary data modifications during expiry
  • Better audit trail: Keep complete historical records of what trials actually were