Summary: Ref T3373.
Test Plan:
Ran this script, saw valid inserts:
  <?php
  $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites();
  id(new PonderQuestionTransaction())
    ->setAuthorPHID('herp')
    ->setObjectPHID('derp')
    ->setViewPolicy('blarp')
    ->setEditPolicy('goop')
    ->setTransactionType('beep')
    ->setContentSource(PhabricatorContentSource::newForSource('derp', array()))
    ->save();
  id(new PonderAnswerTransaction())
    ->setAuthorPHID('herp')
    ->setObjectPHID('derp')
    ->setViewPolicy('blarp')
    ->setEditPolicy('goop')
    ->setTransactionType('beep')
    ->setContentSource(PhabricatorContentSource::newForSource('derp', array()))
    ->save();
  id(new PonderQuestionTransactionComment())
    ->setCommentVersion(1)
    ->setAuthorPHID('bloop')
    ->setViewPolicy('blarp')
    ->setEditPolicy('goop')
    ->setContent('blip')
    ->setContentSource(PhabricatorContentSource::newForSource('derp', array()))
    ->save();
  id(new PonderAnswerTransactionComment())
    ->setCommentVersion(1)
    ->setAuthorPHID('bloop')
    ->setViewPolicy('blarp')
    ->setEditPolicy('goop')
    ->setContent('blip')
    ->setContentSource(PhabricatorContentSource::newForSource('derp', array()))
    ->save();
  unset($unguarded);
  echo "OK!\n";
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T3373
Differential Revision: https://secure.phabricator.com/D6584
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE {$NAMESPACE}_ponder.ponder_questiontransaction (
 | 
						|
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 | 
						|
  phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  objectPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  commentPHID VARCHAR(64) COLLATE utf8_bin,
 | 
						|
  commentVersion INT UNSIGNED NOT NULL,
 | 
						|
  transactionType VARCHAR(32) NOT NULL COLLATE utf8_bin,
 | 
						|
  oldValue LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  newValue LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  metadata LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  dateCreated INT UNSIGNED NOT NULL,
 | 
						|
  dateModified INT UNSIGNED NOT NULL,
 | 
						|
 | 
						|
  UNIQUE KEY `key_phid` (phid),
 | 
						|
  KEY `key_object` (objectPHID)
 | 
						|
 | 
						|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
 | 
						|
 | 
						|
CREATE TABLE {$NAMESPACE}_ponder.ponder_questiontransaction_comment (
 | 
						|
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 | 
						|
  phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  transactionPHID VARCHAR(64) COLLATE utf8_bin,
 | 
						|
  authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  commentVersion INT UNSIGNED NOT NULL,
 | 
						|
  content LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  isDeleted BOOL NOT NULL,
 | 
						|
  dateCreated INT UNSIGNED NOT NULL,
 | 
						|
  dateModified INT UNSIGNED NOT NULL,
 | 
						|
 | 
						|
  UNIQUE KEY `key_phid` (phid),
 | 
						|
  UNIQUE KEY `key_version` (transactionPHID, commentVersion)
 | 
						|
 | 
						|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
 | 
						|
 | 
						|
CREATE TABLE {$NAMESPACE}_ponder.ponder_answertransaction (
 | 
						|
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 | 
						|
  phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  objectPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  commentPHID VARCHAR(64) COLLATE utf8_bin,
 | 
						|
  commentVersion INT UNSIGNED NOT NULL,
 | 
						|
  transactionType VARCHAR(32) NOT NULL COLLATE utf8_bin,
 | 
						|
  oldValue LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  newValue LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  metadata LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  dateCreated INT UNSIGNED NOT NULL,
 | 
						|
  dateModified INT UNSIGNED NOT NULL,
 | 
						|
 | 
						|
  UNIQUE KEY `key_phid` (phid),
 | 
						|
  KEY `key_object` (objectPHID)
 | 
						|
 | 
						|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
 | 
						|
 | 
						|
CREATE TABLE {$NAMESPACE}_ponder.ponder_answertransaction_comment (
 | 
						|
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 | 
						|
  phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  transactionPHID VARCHAR(64) COLLATE utf8_bin,
 | 
						|
  authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
 | 
						|
  commentVersion INT UNSIGNED NOT NULL,
 | 
						|
  content LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
 | 
						|
  isDeleted BOOL NOT NULL,
 | 
						|
  dateCreated INT UNSIGNED NOT NULL,
 | 
						|
  dateModified INT UNSIGNED NOT NULL,
 | 
						|
 | 
						|
  UNIQUE KEY `key_phid` (phid),
 | 
						|
  UNIQUE KEY `key_version` (transactionPHID, commentVersion)
 | 
						|
 | 
						|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
 | 
						|
 |