Issue #3610757: Make PaymentStorageSchema extensible so a consumer can add its own index

Drops final from PaymentStorageSchema and factors its index list into a protected indexes() seam that getEntitySchema() loops over.

A consumer that adds base fields (e.g. orchestra_payment) can now extend the class, override indexes() returning parent::indexes() merged with its own entries, and swap the handler in via hook_entity_type_alter(), without duplicating the base index definition. Callers needing more than extra base-table indexes can still override getEntitySchema() directly.

Adds PaymentStorageSchemaTest: asserts the base index is installed end to end, and (via a test-double subclass) that a consumer keeps the parent index while adding its own.

Merge request reports

Loading