Database Properties
Database Type: MySQL - 8.0.34
Tables
Table / View | Children | Parents | Columns | Rows | Type | Comments |
---|---|---|---|---|---|---|
results_propagate | 0 | 3 | 4 | 0 | Table | Used by the algorithm that computes results for items that have children and unlocks items if needed. |
error_log | 0 | 0 | 5 | 0 | Table | |
groups | 22 | 2 | 32 | 2 | Table | A group can be either a user, a set of users, or a set of groups. |
threads | 0 | 3 | 6 | 0 | Table | Discussion thread related to participant-item pair. |
groups_groups | 0 | 2 | 11 | 0 | Table | Parent-child (N-N) relationships between groups (acyclic graph). |
filters | 0 | 1 | 17 | 0 | Table | |
platforms | 1 | 0 | 6 | 0 | Table | Platforms that host content |
items_strings | 2 | 2 | 8 | 2 | Table | Textual content associated with an item, in a given language. |
access_tokens | 0 | 1 | 4 | 0 | Table | Access tokens (short lifetime) distributed to users, to access a specific session. |
items | 18 | 3 | 31 | 0 | Table | |
group_pending_requests | 0 | 2 | 7 | 0 | Table | Requests that require an action from a user (group owner/manager or member) |
group_managers | 0 | 2 | 7 | 0 | Table | Group managers and their permissions |
permissions_propagate | 0 | 2 | 3 | 0 | Table | Used by the access rights propagation algorithm to keep track of the status of the propagation |
stopwords | 0 | 0 | 1 | 0 | Table | Stopwords for the fulltext search. The table is empty on purpose. It is used to prevent the fulltext search from using the default stopwords list. All the MySQL fulltext indexes would have to be recreated with innodb_ft_server_stopword_table pointing to this table if we wanted to add some new stopwords. Also the stopwords would have to be filtered out from searched strings in the application code. |
answers | 1 | 4 | 9 | 0 | Table | All the submissions made by users on tasks, as well as saved answers and the current answer |
results | 6 | 3 | 22 | 0 | Table | Attempts of a group (team or user) to solve a task once or several times with different parameters with the task allows it. |
gradings | 0 | 1 | 3 | 0 | Table | Grading results for answers |
badges | 0 | 1 | 4 | 0 | Table | |
permissions_propagate_sync | 0 | 0 | 4 | 0 | Table | Used by the access rights propagation algorithm to keep track of the status of the propagation |
results_recompute_for_items | 0 | 1 | 2 | 0 | Table | Used by the algorithm that computes results. All results for the item_id have to be recomputed when the item_id is in this table. |
permissions_granted | 0 | 4 | 18 | 0 | Table | Raw permissions given to a group on an item |
items_items | 0 | 2 | 13 | 0 | Table | Parent-child (N-N) relationship between items (acyclic graph) |
languages | 1 | 0 | 2 | 0 | Table | Languages supported for content |
items_propagate | 0 | 1 | 2 | 0 | Table | Used by the algorithm that updates the items_ancestors table, and keeps track of what items still need to have their relationship with their descendants / ancestors propagated. |
group_item_additional_times | 0 | 2 | 3 | 0 | Table | Additional times of groups on time-limited items |
goose_db_version | 0 | 0 | 4 | 15 | Table | |
permissions_generated | 0 | 2 | 11 | 0 | Table | Actual permissions that the group has, considering the aggregation and the propagation |
items_ancestors | 0 | 2 | 2 | 0 | Table | All child-ancestor relationships (a item is not its own ancestor). Cache table that can be recomputed based on the content of groups_groups. |
user_batch_prefixes | 1 | 1 | 4 | 0 | Table | Authorized login prefixes for user batch creation. A prefix cannot be deleted without deleting batches using it. |
group_membership_changes | 0 | 3 | 5 | 0 | Table | Stores the history of group membership changes |
sessions | 1 | 1 | 3 | 0 | Table | Sessions represent a logged in user, on a specific device. |
attempts | 2 | 3 | 8 | 0 | Table | Attempts of participants (team or user) to solve a subtree of items. An attempt may have several answers for a same item. Every participant has a default attempt. |
groups_ancestors | 0 | 2 | 5 | 1 | Table | All ancestor relationships for groups, given that a group is its own ancestor and team ancestors are not propagated to their members. It is a cache table that can be recomputed based on the content of groups_groups. |
user_batches_v2 | 0 | 2 | 5 | 0 | Table | Batches of users that were created (replaces user_batches which has been broken by a MySQL update) |
users | 8 | 2 | 48 | 0 | Table | Users. A large part is obtained from the auth platform and may not be manually edited |
results_propagate_sync | 0 | 0 | 5 | 0 | Table | Used by the algorithm that computes results for items that have children and unlocks items if needed. |
item_dependencies | 0 | 2 | 4 | 0 | Table | |
groups_propagate | 0 | 1 | 2 | 0 | Table | Used by the algorithm that updates the groups_ancestors table, and keeps track of what groups still need to have their relationship with their descendants / ancestors propagated. |
groups_groups_active | 0 | 0 | 11 | 0 | View | |
groups_ancestors_active | 0 | 0 | 5 | 0 | View | |
permissions_propagate_sync_conn | 0 | 0 | 4 | 0 | View | |
results_propagate_sync_conn | 0 | 0 | 5 | 0 | View |