 917da08417
			
		
	
	917da08417
	
	
	
		
			
			Summary: Ref T1191. Notable stuff: - Adds `--disable-utf8mb4` to `bin/storage` to make it easier to test what things will (approximately) do on old MySQL. This isn't 100% perfect but should catch all the major stuff. It basically makes us pretend the server is an old server. - Require utf8mb4 to dump a quickstart. - Fix some issues with quickstart generation, notably special casing the FULLTEXT handling. - Add an `--unsafe` flag to `bin/storage adjust` to let it truncate data to fix schemata. - Fix some old patches which don't work if the default table charset is utf8mb4. Test Plan: - Dumped a quickstart. - Loaded the quickstart with utf8mb4. - Loaded the quickstart with `--disable-utf8mb4` (verified that we get binary columns, etc). - Adjusted schema with `--disable-utf8mb4` (got a long adjustment with binary columns, some truncation stuff with weird edge case test data). - Adjusted schema with `--disable-utf8mb4 --unsafe` (got truncations and clean adjust). - Adjusted schema back without `--disable-utf8mb4` (got a long adjustment with utf8mb4 columns, some invalid data on truncated utf8). - Adjusted schema without `--disable-utf8mb4`, but with `--unsafe` (got truncations on the invalid data). Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T1191 Differential Revision: https://secure.phabricator.com/D10757
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| CREATE TABLE {$NAMESPACE}_herald.herald_action (
 | |
|   id int unsigned not null auto_increment primary key,
 | |
|   ruleID int unsigned not null,
 | |
|   action varchar(255) not null,
 | |
|   target text not null
 | |
| );
 | |
| 
 | |
| CREATE TABLE {$NAMESPACE}_herald.herald_rule (
 | |
|   id int unsigned not null auto_increment primary key,
 | |
|   name varchar(255) COLLATE `binary` not null,
 | |
|   authorPHID varchar(64) binary not null,
 | |
|   contentType varchar(255) not null,
 | |
|   mustMatchAll bool not null,
 | |
|   configVersion int unsigned not null default '1',
 | |
|   dateCreated int unsigned not null,
 | |
|   dateModified int unsigned not null,
 | |
|   unique key (authorPHID, name)
 | |
| );
 | |
| 
 | |
| CREATE TABLE {$NAMESPACE}_herald.herald_condition (
 | |
|   id int unsigned not null auto_increment primary key,
 | |
|   ruleID int unsigned not null,
 | |
|   fieldName varchar(255) not null,
 | |
|   fieldCondition varchar(255) not null,
 | |
|   value text not null
 | |
| );
 | |
| 
 | |
| CREATE TABLE {$NAMESPACE}_herald.herald_transcript (
 | |
|   id int unsigned not null auto_increment primary key,
 | |
|   phid varchar(64) binary not null,
 | |
|   time int unsigned not null,
 | |
|   host varchar(255) not null,
 | |
|   psth varchar(255) not null,
 | |
|   duration float not null,
 | |
|   objectPHID varchar(64) binary not null,
 | |
|   dryRun bool not null,
 | |
|   objectTranscript longblob not null,
 | |
|   ruleTranscripts longblob not null,
 | |
|   conditionTranscripts longblob not null,
 | |
|   applyTranscripts longblob not null,
 | |
|   unique key (phid)
 | |
| );
 |