mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 02:32:42 +01:00
f9c6a69d9c
Summary: Depends on D19322. Ref T13120. Ref T12414. Currently, `AlmanacDevice` has a bit of a beast of a `TYPE_INTERFACE` transaction that fully creates a complex Interface object. This isn't very flexible or consistent, and Interfaces are complex enough to reasonably have their own object behaviors (for example, they have their own PHIDs). The complexity of this transaction makes modularizing `AlmanacDevice` transactions tricky. To simplify this, move Interface toward having its own set of normal transactions. This change just adds some reasonable-looking transactions; it doesn't actually hook them up in the UI or make them reachable. I'll test that they actually work as I swap the UI over. We may also have some code using the `TYPE_INTERFACE` transaction in Phacility support stuff, so that may need to wait a week to actually phase out. Test Plan: Ran `bin/storage upgrade` and `arc liberate`. This code isn't reachable yet. Reviewers: amckinley Reviewed By: amckinley Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13120, T12414 Differential Revision: https://secure.phabricator.com/D19323
19 lines
851 B
SQL
19 lines
851 B
SQL
CREATE TABLE {$NAMESPACE}_almanac.almanac_interfacetransaction (
|
|
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};
|