mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-21 13:00:56 +01:00
9160da1afb
Summary: Ref T8116. Partially scavenged from D14152. This roughs in a new Packages application for Arcanist extensions and third-party applications, and adds a "Publisher" object. A "Publisher" represents an individual or entity who is publishing a package, like "Phacility". It's explicitly //not// necessarily the original author -- just the primary entity vouching for the safety of the code. A publisher just has a name and a unique key for now. For example, Phacility might have "Phacility" and "phacility", respectively. Unique keys are immutable, e.g., the package "phacility/arcanist" will always be exactly the same package by exactly the same publisher. Test Plan: {F1731621} Reviewers: chad Reviewed By: chad Maniphest Tasks: T8116 Differential Revision: https://secure.phabricator.com/D16314
19 lines
853 B
SQL
19 lines
853 B
SQL
CREATE TABLE {$NAMESPACE}_packages.packages_publishertransaction (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
phid VARBINARY(64) NOT NULL,
|
|
authorPHID VARBINARY(64) NOT NULL,
|
|
objectPHID VARBINARY(64) NOT NULL,
|
|
viewPolicy VARBINARY(64) NOT NULL,
|
|
editPolicy VARBINARY(64) NOT NULL,
|
|
commentPHID VARBINARY(64) DEFAULT NULL,
|
|
commentVersion INT UNSIGNED NOT NULL,
|
|
transactionType VARCHAR(32) COLLATE {$COLLATE_TEXT} NOT NULL,
|
|
oldValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
|
|
newValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
|
|
contentSource LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
|
|
metadata LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
|
|
dateCreated INT UNSIGNED NOT NULL,
|
|
dateModified INT UNSIGNED NOT NULL,
|
|
UNIQUE KEY `key_phid` (`phid`),
|
|
KEY `key_object` (`objectPHID`)
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|