- 1 Vocabulary
- 2 Tables
- 2.1 category_list
- 2.2 maintenance_delta
- 2.3 maintenance_week
- 2.4 maniphest_blocked
- 2.5 maniphest_blocked_phid
- 2.6 maniphest_edge
- 2.7 maniphest_task
- 2.8 maniphest_transaction
- 2.9 open_backlog_size
- 2.10 phabricator_column
- 2.11 phabricator_project
- 2.12 recently_closed
- 2.13 recently_closed_task
- 2.14 tall_backlog
- 2.15 task_history
- 2.16 task_history_recat
- 2.17 task_milestone
- 3 Stored Procedures
- 4 Data Model during Phlogiston execution
Category: A grouping of tasks within Phlogiston. Categories are defined by <project_name>_recategorization.csv.
Phlogiston Project: A set of tasks that are analyzed as a group, under the assumption that they are the same body of tasks that one team of people work on. A Phlogiston project usually contains all tasks from multiple Phabricator projects.
Phabricator Project: A tag for grouping and labeling tasks in Phabricator.
Source: synonym to Phlogiston Project.
Status: The Phabricator status field. Simplified by generic_make_history.sql.
Each row is one category for one Phlogiston project.
One row for each task. If a task belongs to multiple Phlogiston projects, it will appear multiple times (I think).
One row for each transaction in Phabricator.
One row for each projectcolumn.
One row for each Phabricator project.
A summary of task_history_recat. One row for each unique group of date, category, status, and project.
One row for each task for each day, with the task project name, task projectcolumn name, and titles of task ancestor Milestone tasks.
One row for each task for each day, with the various names converted to a single Category field.
Returns a list ids of all tasks that are "children" (aka Blockers in Phabricator), as of the specified date.
Limitation: if Task A is a parent of Task B, and Task B is a parent of Task C, and Task A and Task C are tagged with Phabricator projects that are included in Phlogiston Project X, but Task B is not, Task C will not be included in the list.
Data Model during Phlogiston execution
The following tables are updated in this order:
- maniphest_edge (add project membership many to many table)
- task_history (add one row per task per day)
- task_milestone (add task ancestor milestone many to many table)
- task_history (update with milestone strings)
- task_history (update status for special cases involving bad import data)
- task_history_recat (add one row per task per day with consolidated category)
- tall_backlog (add grouped data)
- other tables...