| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Updating old commit authors...\n"; | 
					
						
							|  |  |  | $table = new PhabricatorRepositoryCommit(); | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  | $table->openTransaction(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  | $conn = $table->establishConnection('w'); | 
					
						
							|  |  |  | $data = new PhabricatorRepositoryCommitData(); | 
					
						
							|  |  |  | $commits = queryfx_all( | 
					
						
							|  |  |  |   $conn, | 
					
						
							|  |  |  |   'SELECT c.id id, c.authorPHID authorPHID, d.commitDetails details | 
					
						
							|  |  |  |     FROM %T c JOIN %T d ON d.commitID = c.id | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  |     WHERE c.authorPHID IS NULL | 
					
						
							|  |  |  |     FOR UPDATE', | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  |   $table->getTableName(), | 
					
						
							|  |  |  |   $data->getTableName()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | foreach ($commits as $commit) { | 
					
						
							|  |  |  |   $id = $commit['id']; | 
					
						
							|  |  |  |   $details = json_decode($commit['details'], true); | 
					
						
							|  |  |  |   $author_phid = idx($details, 'authorPHID'); | 
					
						
							|  |  |  |   if ($author_phid) { | 
					
						
							|  |  |  |     queryfx( | 
					
						
							|  |  |  |       $conn, | 
					
						
							|  |  |  |       'UPDATE %T SET authorPHID = %s WHERE id = %d', | 
					
						
							|  |  |  |       $table->getTableName(), | 
					
						
							|  |  |  |       $author_phid, | 
					
						
							|  |  |  |       $id); | 
					
						
							|  |  |  |     echo "#{$id}\n"; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  | $table->saveTransaction(); | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  | echo "Done.\n"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Updating old commit mailKeys...\n"; | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  | $table->openTransaction(); | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | $commits = queryfx_all( | 
					
						
							|  |  |  |   $conn, | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  |   'SELECT id FROM %T WHERE mailKey = %s FOR UPDATE', | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  |   $table->getTableName(), | 
					
						
							|  |  |  |   ''); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | foreach ($commits as $commit) { | 
					
						
							|  |  |  |   $id = $commit['id']; | 
					
						
							|  |  |  |   queryfx( | 
					
						
							|  |  |  |     $conn, | 
					
						
							|  |  |  |     'UPDATE %T SET mailKey = %s WHERE id = %d', | 
					
						
							|  |  |  |     $table->getTableName(), | 
					
						
							|  |  |  |     Filesystem::readRandomCharacters(20), | 
					
						
							|  |  |  |     $id); | 
					
						
							|  |  |  |   echo "#{$id}\n"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  | $table->saveTransaction(); | 
					
						
							| 
									
										
										
										
											2012-02-28 21:06:34 -08:00
										 |  |  | echo "Done.\n"; |