mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 14:00:56 +01:00
7b6fa0db12
Summary: Split Pholio's transaction implementation into generic and application-specific parts. Moves us toward generic transactions, with support for: - Editing and deleting comments. - Setting visibility of individual comments (I'm not a fan of this feature but we'll see). I want to move everything to a more generic piece of infrastructure but there's very little they can share right now so adding transactions to, e.g., Paste or Macros (T2157) means massive amounts of similar code. Tons of work left to do here, but I think it basically works. Here's a screenshot: {F26820} Test Plan: Made transactions in Pholio. Reviewers: btrahan, vrana, chad Reviewed By: btrahan CC: aran Maniphest Tasks: T2104 Differential Revision: https://secure.phabricator.com/D4136
51 lines
1.8 KiB
SQL
51 lines
1.8 KiB
SQL
DROP TABLE {$NAMESPACE}_pholio.pholio_transaction;
|
|
DROP TABLE {$NAMESPACE}_pholio.pholio_pixelcomment;
|
|
|
|
CREATE TABLE {$NAMESPACE}_pholio.pholio_transaction (
|
|
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,
|
|
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}_pholio.pholio_transaction_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,
|
|
|
|
mockID INT UNSIGNED,
|
|
imageID INT UNSIGNED,
|
|
x INT UNSIGNED,
|
|
y INT UNSIGNED,
|
|
width INT UNSIGNED,
|
|
height INT UNSIGNED,
|
|
|
|
UNIQUE KEY `key_phid` (phid),
|
|
UNIQUE KEY `key_version` (transactionPHID, commentVersion),
|
|
UNIQUE KEY `key_draft` (authorPHID, mockID, transactionPHID)
|
|
|
|
) ENGINE=InnoDB, COLLATE utf8_general_ci;
|
|
|