5 files changed +76
-0
lines changed Original file line number Diff line number Diff line change
1
+ ALTER TABLE {$NAMESPACE}_differential .differential_changeset
2
+ ADD phid VARBINARY(64 ) NOT NULL ;
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ $ phid_type = DifferentialChangesetPHIDType::TYPECONST ;
4
+
5
+ $ changeset_table = new DifferentialChangeset ();
6
+
7
+ $ conn = $ changeset_table ->establishConnection ('w ' );
8
+ $ table_name = $ changeset_table ->getTableName ();
9
+
10
+ $ iterator = new LiskRawMigrationIterator ($ conn , $ table_name );
11
+ foreach ($ iterator as $ changeset_row ) {
12
+ $ phid = $ changeset_row ['phid ' ];
13
+
14
+ if (strlen ($ phid )) {
15
+ continue ;
16
+ }
17
+
18
+ $ phid = PhabricatorPHID::generateNewPHID ($ phid_type );
19
+
20
+ queryfx (
21
+ $ conn ,
22
+ 'UPDATE %T SET phid = %s WHERE id = %d ' ,
23
+ $ table_name ,
24
+ $ phid ,
25
+ $ changeset_row ['id ' ]);
26
+ }
Original file line number Diff line number Diff line change 472
472
'DifferentialChangesetOneUpMailRenderer' => 'applications/differential/render/DifferentialChangesetOneUpMailRenderer.php',
473
473
'DifferentialChangesetOneUpRenderer' => 'applications/differential/render/DifferentialChangesetOneUpRenderer.php',
474
474
'DifferentialChangesetOneUpTestRenderer' => 'applications/differential/render/DifferentialChangesetOneUpTestRenderer.php',
475
+ 'DifferentialChangesetPHIDType' => 'applications/differential/phid/DifferentialChangesetPHIDType.php',
475
476
'DifferentialChangesetParser' => 'applications/differential/parser/DifferentialChangesetParser.php',
476
477
'DifferentialChangesetParserTestCase' => 'applications/differential/parser/__tests__/DifferentialChangesetParserTestCase.php',
477
478
'DifferentialChangesetQuery' => 'applications/differential/query/DifferentialChangesetQuery.php',
6541
6542
'DifferentialChangesetOneUpMailRenderer' => 'DifferentialChangesetRenderer',
6542
6543
'DifferentialChangesetOneUpRenderer' => 'DifferentialChangesetHTMLRenderer',
6543
6544
'DifferentialChangesetOneUpTestRenderer' => 'DifferentialChangesetTestRenderer',
6545
+ 'DifferentialChangesetPHIDType' => 'PhabricatorPHIDType',
6544
6546
'DifferentialChangesetParser' => 'Phobject',
6545
6547
'DifferentialChangesetParserTestCase' => 'PhabricatorTestCase',
6546
6548
'DifferentialChangesetQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ final class DifferentialChangesetPHIDType extends PhabricatorPHIDType {
4
+
5
+ const TYPECONST = 'DCNG ' ;
6
+
7
+ public function getTypeName () {
8
+ return pht ('Differential Changeset ' );
9
+ }
10
+
11
+ public function newObject () {
12
+ return new DifferentialChangeset ();
13
+ }
14
+
15
+ public function getPHIDTypeApplicationClass () {
16
+ return 'PhabricatorDifferentialApplication ' ;
17
+ }
18
+
19
+ protected function buildQueryForObjects (
20
+ PhabricatorObjectQuery $ query ,
21
+ array $ phids ) {
22
+
23
+ return id (new DifferentialChangesetQuery ())
24
+ ->withPHIDs ($ phids );
25
+ }
26
+
27
+ public function loadHandles (
28
+ PhabricatorHandleQuery $ query ,
29
+ array $ handles ,
30
+ array $ objects ) {
31
+
32
+ foreach ($ handles as $ phid => $ handle ) {
33
+ $ changeset = $ objects [$ phid ];
34
+
35
+ $ id = $ changeset ->getID ();
36
+
37
+ $ handle ->setName (pht ('Changeset %d ' , $ id ));
38
+ }
39
+ }
40
+
41
+ }
Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ final class DifferentialChangeset
45
45
46
46
protected function getConfiguration () {
47
47
return array (
48
+ self ::CONFIG_AUX_PHID => true ,
48
49
self ::CONFIG_SERIALIZATION => array (
49
50
'metadata ' => self ::SERIALIZATION_JSON ,
50
51
'oldProperties ' => self ::SERIALIZATION_JSON ,
@@ -75,6 +76,10 @@ protected function getConfiguration() {
75
76
) + parent ::getConfiguration ();
76
77
}
77
78
79
+ public function getPHIDType () {
80
+ return DifferentialChangesetPHIDType::TYPECONST ;
81
+ }
82
+
78
83
public function getAffectedLineCount () {
79
84
return $ this ->getAddLines () + $ this ->getDelLines ();
80
85
}
0 commit comments