@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1CREATE TABLE {$NAMESPACE}_legalpad.legalpad_document (
2 id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
3 phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
4 creatorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
5 versions INT UNSIGNED NOT NULL DEFAULT 0,
6 documentBodyPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
7 viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
8 editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
9 dateCreated INT UNSIGNED NOT NULL,
10 dateModified INT UNSIGNED NOT NULL,
11 UNIQUE KEY `key_phid` (phid),
12 UNIQUE KEY `key_creator` (creatorPHID, dateModified)
13) ENGINE=InnoDB DEFAULT CHARSET=utf8;
14
15CREATE TABLE {$NAMESPACE}_legalpad.legalpad_documentbody (
16 id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
17 phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
18 creatorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
19 documentPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
20 version INT UNSIGNED NOT NULL DEFAULT 0,
21 title VARCHAR(255) NOT NULL COLLATE utf8_general_ci,
22 text LONGTEXT NULL COLLATE utf8_general_ci,
23 dateCreated INT UNSIGNED NOT NULL,
24 dateModified INT UNSIGNED NOT NULL,
25 UNIQUE KEY `key_phid` (phid),
26 UNIQUE KEY `key_document` (documentPHID, version)
27) ENGINE=InnoDB DEFAULT CHARSET=utf8;
28
29CREATE TABLE {$NAMESPACE}_legalpad.legalpad_documentsignature (
30 id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
31 documentPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
32 documentVersion INT UNSIGNED NOT NULL DEFAULT 0,
33 signerPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
34 dateCreated INT UNSIGNED NOT NULL,
35 dateModified INT UNSIGNED NOT NULL,
36 UNIQUE KEY `key_document` (documentPHID, documentVersion, signerPHID),
37 KEY `key_signer` (signerPHID, dateModified)
38) ENGINE=InnoDB DEFAULT CHARSET=utf8;
39
40CREATE TABLE {$NAMESPACE}_legalpad.edge (
41 src VARCHAR(64) NOT NULL COLLATE utf8_bin,
42 type VARCHAR(64) NOT NULL COLLATE utf8_bin,
43 dst VARCHAR(64) NOT NULL COLLATE utf8_bin,
44 dateCreated INT UNSIGNED NOT NULL,
45 seq INT UNSIGNED NOT NULL,
46 dataID INT UNSIGNED,
47 PRIMARY KEY (src, type, dst),
48 KEY (src, type, dateCreated, seq)
49) ENGINE=InnoDB, COLLATE utf8_general_ci;
50
51CREATE TABLE {$NAMESPACE}_legalpad.edgedata (
52 id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
53 data LONGTEXT NOT NULL COLLATE utf8_bin
54) ENGINE=InnoDB, COLLATE utf8_general_ci;
55
56CREATE TABLE {$NAMESPACE}_legalpad.legalpad_transaction (
57 id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
58 phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
59 authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
60 objectPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
61 viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
62 editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
63 commentPHID VARCHAR(64) COLLATE utf8_bin,
64 commentVersion INT UNSIGNED NOT NULL,
65 transactionType VARCHAR(32) NOT NULL COLLATE utf8_bin,
66 oldValue LONGTEXT NOT NULL COLLATE utf8_bin,
67 newValue LONGTEXT NOT NULL COLLATE utf8_bin,
68 contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
69 metadata LONGTEXT NOT NULL COLLATE utf8_bin,
70 dateCreated INT UNSIGNED NOT NULL,
71 dateModified INT UNSIGNED NOT NULL,
72
73 UNIQUE KEY `key_phid` (phid),
74 KEY `key_object` (objectPHID)
75
76) ENGINE=InnoDB, COLLATE utf8_general_ci;
77
78CREATE TABLE {$NAMESPACE}_legalpad.legalpad_transaction_comment (
79 id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
80 phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
81 transactionPHID VARCHAR(64) COLLATE utf8_bin,
82 authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
83 viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
84 editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin,
85 commentVersion INT UNSIGNED NOT NULL,
86 content LONGTEXT NOT NULL COLLATE utf8_bin,
87 contentSource LONGTEXT NOT NULL COLLATE utf8_bin,
88 isDeleted BOOL NOT NULL,
89 dateCreated INT UNSIGNED NOT NULL,
90 dateModified INT UNSIGNED NOT NULL,
91
92 documentID INT UNSIGNED,
93 lineNumber INT UNSIGNED NOT NULL,
94 lineLength INT UNSIGNED NOT NULL,
95 fixedState VARCHAR(12) COLLATE utf8_bin,
96 hasReplies BOOL NOT NULL,
97 replyToCommentPHID VARCHAR(64),
98
99 UNIQUE KEY `key_phid` (phid),
100 UNIQUE KEY `key_version` (transactionPHID, commentVersion),
101 UNIQUE KEY `key_draft` (authorPHID, documentID, transactionPHID)
102
103) ENGINE=InnoDB, COLLATE utf8_general_ci;