Page MenuHomePhabricator

Allow `bin/storage adjust` to make key changes
ClosedPublic

Authored by epriestley on Sep 28 2014, 2:58 PM.

Details

Summary

Ref T1191. These are a bit tricky because keys can interact with column changes, so basically we do three phases:

  1. Nuke all bad keys.
  2. Make all column (and database/table) changes.
  3. Fix all nuked keys.
Test Plan

Ran migration locally. See note for remaining issues.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Allow `bin/storage adjust` to make key changes.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
Target                                              Error                                                                                                                                                                                                                
phabricator2_differential.differential_diffproperty #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_file.file_imagemacro                   #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_file.file_transformedfile              #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_herald.herald_rule                     #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_herald.herald_transcript               #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<unknown> CHARACTER SET <unknown> COLLATE <unknown> NOT NULL' at line 1
phabricator2_meta_data.patch_status                 #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_metamta.metamta_mailinglist            #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_metamta.metamta_mailinglist            #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_owners.owners_package                  #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_phame.phame_blog                       #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_phragment.phragment_fragment           #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_phragment.phragment_snapshot           #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_project.project                        #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_project.project                        #1062: Duplicate entry 'ニニニ/' for key 'phrictionSlug'                                                                                                                                                             
phabricator2_project.project_slug                   #1062: Duplicate entry 'ニニニ' for key 'key_slug'                                                                                                                                                                   
phabricator2_releeph.releeph_project                #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_repository.repository_arcanistproject  #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_repository.repository_badcommit        #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_repository.repository_branch           #1071: Specified key was too long; max key length is 767 bytes                                                                                                                                                       
phabricator2_phriction.phriction_content            #1089: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
btrahan edited edge metadata.
This revision is now accepted and ready to land.Sep 30 2014, 5:01 PM
This revision was automatically updated to reflect the committed changes.