Page MenuHomePhabricator

Move Phriction internal document/content references from IDs to PHIDs
ClosedPublic

Authored by epriestley on Aug 29 2018, 3:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 11:44 AM
Unknown Object (File)
Fri, Dec 20, 9:47 AM
Unknown Object (File)
Sat, Dec 14, 3:13 PM
Unknown Object (File)
Fri, Dec 13, 7:38 PM
Unknown Object (File)
Wed, Dec 4, 3:19 PM
Unknown Object (File)
Mon, Dec 2, 11:04 AM
Unknown Object (File)
Nov 19 2024, 2:20 PM
Unknown Object (File)
Nov 4 2024, 5:45 AM
Subscribers
Restricted Owners Package

Details

Summary

Ref T13077. This is mostly just a small cleanup change, even though the actual change is large.

We currently reference content and document objects from one another with contentID and documentID, but this means that contentID must be nullable. Switching to PHIDs allows the column to be non-nullable.

This also supports reorienting some current and future transactions around PHIDs, which is preferable for the API. In particular, I'm adding a "publish version X" transaction soon, and would rather callers pass a PHID than an ID or version number, since this will make the API more consistent and powerful.

Today, contentID gets used as a cheaty way to order documents by (content) edit time. Since PHIDs aren't orderable and stuff is going to become actually-revertible soon, replace this with an epoch timestamp.

Test Plan
  • Created, edited, moved, retitled, and deleted Phriction documents.
  • Grepped for documentID and contentID.
  • This probably breaks something but I'll be in this code for a bit and am likely to catch whatever breaks.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable