Page MenuHomePhabricator

Support Edges in Calendar
Closed, ResolvedPublic

Description

Modern applications use "edges" to store most relationships between objects (like members of a project, or reviewers for a revision). Calendar does not have the edge tables on its application database yet, so it can't write any edges.

Edges are the best way to store relationships like "user X invited to event E", and adding storage is a prerequisite for implementing other core interfaces like Subscriptions and Tokens.

  • Add the edge tables.
  • Add related infrastructure.

Related Objects

StatusAssignedTask
Resolvedepriestley
Resolvedepriestley
Resolvedepriestley
Resolvedlpriestley
Resolvedlpriestley
Wontfixlpriestley
Openepriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Duplicatelpriestley
ResolvedNone
Resolvedlpriestley
Resolvedlpriestley
Duplicatelpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley
Resolvedlpriestley

Event Timeline

epriestley assigned this task to lpriestley.
epriestley raised the priority of this task from to Normal.
epriestley updated the task description. (Show Details)
epriestley added a project: Calendar.
epriestley added a subscriber: epriestley.
  • Create a new autopatch similar to resources/sql/autopatches/20141104.almanac.3.edge.sql to add the edge tables to Calendar.
  • Create a PhabricatorCalendarSchemaSpec similar to AlmanacSchemaSpec so Phabricator knows the table is supposed to exist.

Running bin/storage upgrade should then create the edge tables and not complain about anything. This will let later infrastructure which depends on edges work properly.