[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 $project_table = new PhabricatorProject(); 4 $conn_w = $project_table->establishConnection('w'); 5 $conn_w->openTransaction(); 6 7 $src_table = 'project_legacytransaction'; 8 $dst_table = 'project_transaction'; 9 10 echo "Migrating Project transactions to new format...\n"; 11 12 $content_source = PhabricatorContentSource::newForSource( 13 PhabricatorContentSource::SOURCE_LEGACY, 14 array())->serialize(); 15 16 $rows = new LiskRawMigrationIterator($conn_w, $src_table); 17 foreach ($rows as $row) { 18 $id = $row['id']; 19 20 $project_id = $row['projectID']; 21 22 echo "Migrating transaction #{$id} (Project {$project_id})...\n"; 23 24 $project_row = queryfx_one( 25 $conn_w, 26 'SELECT phid FROM %T WHERE id = %d', 27 $project_table->getTableName(), 28 $project_id); 29 if (!$project_row) { 30 continue; 31 } 32 33 $project_phid = $project_row['phid']; 34 35 $type_map = array( 36 'name' => PhabricatorProjectTransaction::TYPE_NAME, 37 'members' => PhabricatorProjectTransaction::TYPE_MEMBERS, 38 'status' => PhabricatorProjectTransaction::TYPE_STATUS, 39 'canview' => PhabricatorTransactions::TYPE_VIEW_POLICY, 40 'canedit' => PhabricatorTransactions::TYPE_EDIT_POLICY, 41 'canjoin' => PhabricatorTransactions::TYPE_JOIN_POLICY, 42 ); 43 44 $new_type = idx($type_map, $row['transactionType']); 45 if (!$new_type) { 46 continue; 47 } 48 49 $xaction_phid = PhabricatorPHID::generateNewPHID( 50 PhabricatorApplicationTransactionTransactionPHIDType::TYPECONST, 51 PhabricatorProjectProjectPHIDType::TYPECONST); 52 53 queryfx( 54 $conn_w, 55 'INSERT IGNORE INTO %T 56 (phid, authorPHID, objectPHID, 57 viewPolicy, editPolicy, commentPHID, commentVersion, transactionType, 58 oldValue, newValue, contentSource, metadata, 59 dateCreated, dateModified) 60 VALUES 61 (%s, %s, %s, 62 %s, %s, %ns, %d, %s, 63 %s, %s, %s, %s, 64 %d, %d)', 65 $dst_table, 66 67 // PHID, Author, Object 68 $xaction_phid, 69 $row['authorPHID'], 70 $project_phid, 71 72 // View, Edit, Comment, Version, Type 73 'public', 74 $row['authorPHID'], 75 null, 76 0, 77 $new_type, 78 79 // Old, New, Source, Meta, 80 $row['oldValue'], 81 $row['newValue'], 82 $content_source, 83 '{}', 84 85 // Created, Modified 86 $row['dateCreated'], 87 $row['dateModified']); 88 89 } 90 91 $conn_w->saveTransaction(); 92 echo "Done.\n";
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |