newdevs:checklist:tables-columns
Table of Contents
New Developers Working Group
Checklist for Adding Tables and Columns to Evergreen
Here is a list of factors to consider when adding new tables and columns/fields.
Tables
- Table creation is included in seed scripts
- Including any required seed data
- Table creation is included in schema update
- Including any required seed data
- Table is added to fm_IDL.xml
- As needed for reporting
- As needed for CStore
- As needed for PCRUD with appropriate permissions
- With appropriate cardinality
- With links that reflect relationships with other IDL classes
- With columns that are intended for localization flagged as such
- Decision regarding whether the table supports logical deletion or true deletion made thoughtfully
- PII is handled thoughtfully
- Reason for storing additional PII is documented
- Foreign keys are added thoughtfully
- With reason for behavior on update
- With reason for behavior on delete
- With appropriate indexes if cascading updates or deletions are permitted
- Foreign keys linking to actor.usr include…
- … appropriate action in actor.usr_delete_data()
- … appropriate action in actor.usr_merge()
- Indexes are added thoughtfully
- Appropriate sample data is included in Concerto
Columns
- New column does not unnecessarily require a full rewrite of a large table during upgrade
- Column creation is included in seed scripts
- Including any required seed data
- Column creation is included in schema update
- Including any required seed data
- fm_IDL.xml is updated
- With links that reflect relationships with other IDL classes
- With columns that are intended for localization flagged as such
- PII is handled thoughtfully
- Reason for storing additional PII is documented
- Foreign keys are added thoughtfully
- With reason for behavior on update
- With reason for behavior on delete
- With appropriate indexes if cascading updates or deletions are permitted
- Foreign keys linking to actor.usr include…
- … appropriate action in actor.usr_delete_data()
- … appropriate action in actor.usr_merge()
- Indexes are added thoughtfully
- Appropriate sample data is included in Concerto
newdevs/checklist/tables-columns.txt · Last modified: 2025/03/17 17:53 by tmccanna