After a petition is created, a record for each attribute is added to co_petition_attributes with a foreign key to co_enrollment_attribute_id. However, this means if the enrollment attribute definition is subsequently changed or deleted, co_petition_attributes will no longer have accurate historical petition data.
Two possible fixes:
(1) Record the name/description of the attribute instead of the foreign key. However, this won't be localizable.
(2) Switch CoEnrollmentAttribute to an audit log style approach, where older versions of an attribute are maintained. Then co_petition_attributes would point to the definition in effect at the time the petition was created. However, this is much more work.