Overview
Thought Industries offers a single source of truth column in Redshift for tracking a record's state called "Status Group" (statusgroup). This column is a rollup of the various ways different tables reflect whether a given record is Active, Inactive, or Deleted.
Use statusgroup instead of the individual source columns (deleted, disabled, archived, active, status) in your queries. Those columns are still present on some tables for backward compatibility, but statusgroup is the recommended way to filter for active, inactive, or deleted records.
Values
statusgroup
| Value | Meaning | Logic |
|---|---|---|
a | Active | All states that are not inactive or deleted. The default when no inactive or deleted condition is met. |
i | Inactive | Records that are intentionally archived, disabled, or hidden from learners and admins. |
d | Deleted | Records deleted |
statusgroupupdatedat
Timestamp of the last update to statusgroup. Reflects any change made to the statusgroup column.
Table mapping
The mapping below covers Redshift tables that have a direct source column on the table itself driving statusgroup. For each table, the source column and the values that produce each statusgroup value are listed. Other Redshift tables include a statusgroup column too but are not listed here because when deletions occur, they are not tracked via a direct source column on the table itself.
Upcoming change — not yet released. The two milestonecourses rows in the table below describe behavior from an ETL update that has not shipped yet.
| Redshift table | Source column | Active (a) | Inactive (i) | Deleted (d) |
|---|---|---|---|---|
awards | deleted | FALSE | — | TRUE |
bundles | status | draft, published | archived | deleted |
certificates | deleted | FALSE | — | TRUE |
certificatetemplates | deleted | FALSE | — | TRUE |
clients | deleted | FALSE | — | TRUE |
clients | disabled | FALSE | TRUE | — |
comments | deleted | FALSE | — | TRUE |
companies | status | active, activeTrial, pendingCreation, pendingDeletion, pendingTermination, sandbox, terminationHold, terminationWait, trialCompleted | — | deleted |
competencyassessments | status | published | archived | deleted |
courseactions | deleted | FALSE | — | TRUE |
coursegroups | status | published | archived | — |
courses | status | draft, pending, published, started | archived | deleted |
creditbatches | status | active | archived | — |
discountgroups | status | draft, published | archived | deleted |
learningpathactions | deleted | FALSE | — | TRUE |
learningpaths | status | draft, published | archived | deleted |
meetings | deleted | FALSE | — | TRUE |
milestonecourses | deleted | FALSE | — | TRUE |
milestonecourses | archived | FALSE | TRUE | — |
milestones | deleted | FALSE | — | TRUE |
pickablegroups | status | draft, published | archived | deleted |
products | status | draft, published | archived | deleted |
questions | deleted | FALSE | — | TRUE |
quizattempts | status | finished, pending, started | — | — |
sections | status | draft, published | — | — |
tags | archived | FALSE | TRUE | — |
usercourses | status | completed, not-completed | archived | — |
userlearningpaths | status | completed, not-completed | archived | — |
userlicenses | status | active | inactive | — |
users | disabled | FALSE | TRUE | — |
Tables without statusgroup
The following Redshift tables do not include a statusgroup column. For most, record state doesn't change after creation, so the column isn't needed. The few planned for a future update are flagged below.
awardtypes(planned for a future update)certificatefieldsblocks(planned for a future update)creditactionslocationsltiattemptsorganizationspurchasessectioncompletionssubscriptionpurchaseswaitlists
Restrictions
- This column resides exclusively in Redshift and is unavailable via API.
- Live ETL is required for status updates. If the ETL is down, updates may not be captured immediately.