| 
									
										
										
										
											2012-08-07 18:02:05 -07:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Migrating project members to edges...\n"; | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  | $table = new PhabricatorProject(); | 
					
						
							|  |  |  | $table->establishConnection('w'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | foreach (new LiskMigrationIterator($table) as $proj) { | 
					
						
							| 
									
										
										
										
											2012-08-07 18:02:05 -07:00
										 |  |  |   $id = $proj->getID(); | 
					
						
							|  |  |  |   echo "Project {$id}: "; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $members = queryfx_all( | 
					
						
							| 
									
										
										
										
											2013-01-16 17:55:39 -08:00
										 |  |  |     $proj->establishConnection('w'), | 
					
						
							| 
									
										
										
										
											2012-08-07 18:02:05 -07:00
										 |  |  |     'SELECT userPHID FROM %T WHERE projectPHID = %s', | 
					
						
							|  |  |  |     'project_affiliation', | 
					
						
							|  |  |  |     $proj->getPHID()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if (!$members) { | 
					
						
							|  |  |  |     echo "-\n"; | 
					
						
							|  |  |  |     continue; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $members = ipull($members, 'userPHID'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   $editor = new PhabricatorEdgeEditor(); | 
					
						
							|  |  |  |   $editor->setSuppressEvents(true); | 
					
						
							|  |  |  |   foreach ($members as $user_phid) { | 
					
						
							|  |  |  |     $editor->addEdge( | 
					
						
							|  |  |  |       $proj->getPHID(), | 
					
						
							|  |  |  |       PhabricatorEdgeConfig::TYPE_PROJ_MEMBER, | 
					
						
							|  |  |  |       $user_phid); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   $editor->save(); | 
					
						
							|  |  |  |   echo "OKAY\n"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Done.\n"; |