HomePhabricator

Migrate all Differential inline comments to ApplicationTransactions

Description

Migrate all Differential inline comments to ApplicationTransactions

Summary:
Ref T2222. This implements step (1) described there, which is moving over all the inline comments.

The old and new tables are simliar. The only real trick here is that transactionPHID and legacyCommentID mean roughly the same thing (null if the inline is a draft, non-null if it has been submitted) but we don't have real transactionPHIDs yet. We just make some up -- we'll backfill them later.

Two risks here:

  • I need to take a second look at the keys on this table. I think we need to tweak them a bit, and it will be less disruptive to do that before this migration than after.
  • This will take a while for Facebook, and other large installs with tens of thousands of revisions. I'll communicate this.

I'm otherwise pretty satisfied with this, seems to work well and is pretty low risk / non-disruptive.

Test Plan:

  • Before migrating, then after migrating:
    • Made a bunch of inlines (drafts, submitted).
    • Edited and deleted inlines.
    • Verified inlines showed up in preview.
    • Verified that inlines aren't indexed when they're drafts (bin/search index D935).
    • Verified that inlines ARE indexed when they're not drafts.
    • Verified that drafts inlines make revisions appear as "with draft" in the revision list.
  • Made left, right, and draft inlines.
  • Migrated (bin/storage upgrade).
  • Verified that my inlines from before the migration still showed up.
  • (Repeated all the stuff above.)
  • Manually inspected the inline comment table.

Reviewers: btrahan

Reviewed By: btrahan

CC: FacebookPOC, aran

Maniphest Tasks: T2222

Differential Revision: https://secure.phabricator.com/D7139

Details

Provenance
epriestleyAuthored on Oct 19 2013, 12:03 PM
Reviewer
btrahan
Differential Revision
Restricted Differential Revision
Parents
rP460051c1d82a: Drop `maniphest_savedquery` table
Branches
Unknown
Tags
Unknown
Tasks
T2222: Implement ApplicationTransactions in Differential

Event Timeline