Skip to content

app.training_completions

TableRow level security on

Training completion records (Section 4.9 Training): every attempt with its quiz score, and for a pass a certificate number and expiry. Written only by app.complete_training; the certification link is set once by a verifier.

Primary key: id

Columns of app.training_completions
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org, derived from app.training_courses on insert; never accepted from the caller and never changed.References app.organizations.id
training_course_iduuidNoCourse completed.References app.training_courses.id
membership_iduuidNoLearner.References app.memberships.id
score_percentsmallintYesQuiz score in percent; NULL for a course without quizzes.
passedbooleanNoWhether the attempt passed.
completed_attimestamp with time zoneNoWhen the attempt finished.
expires_attimestamp with time zoneYesWhen a pass stops being current; NULL never expires.
certificate_numbertextYesCompletion certificate number for passes: TRN- and the org's next certificate number, padded to numbering.document_number_padding digits (TRN-0001 by default; 1326, 1396).
certification_holder_iduuidYesCertification record a verifier issued from this pass.References app.certification_holders.id
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.