Summary: Ref T4677. Currently, we record individual actions in a push as PhabricatorRepositoryPushLogs, but tie them together only loosely with a `transactionKey`. Provide a real PushEvent object, and move some of the denormalized fields to it. This primarily just gives us more robust infrastructure for building, e.g., email about pushes, for T4677, since we can act on real PHIDs rather than passing awkward identifiers around. Test Plan: - Performed migration. - Looked at database for consistency. - Browsed/queried push logs. - Pushed a bunch of stuff. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T4677 Differential Revision: https://secure.phabricator.com/D8615
		
			
				
	
	
		
			16 lines
		
	
	
		
			559 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			559 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE {$NAMESPACE}_repository.repository_pushevent (
 | 
						|
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
 | 
						|
  phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  repositoryPHID  VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  epoch INT UNSIGNED NOT NULL,
 | 
						|
  pusherPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  remoteAddress INT UNSIGNED,
 | 
						|
  remoteProtocol VARCHAR(32),
 | 
						|
  rejectCode INT UNSIGNED NOT NULL,
 | 
						|
  rejectDetails VARCHAR(64) COLLATE utf8_bin,
 | 
						|
 | 
						|
  UNIQUE KEY `key_phid` (phid),
 | 
						|
  KEY `key_repository` (repositoryPHID)
 | 
						|
 | 
						|
) ENGINE=InnoDB, COLLATE=utf8_general_ci;
 |