mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 02:32:42 +01:00
6b7d7401ca
Summary: Ref T4558. This diff modernizes the #diviner application. Basically: - Add an edit controller, accessible at `/book/$BOOK/edit/`. - Add edit/view policies. - Added an action menu to the `DivinerBookController` to expose the edit interface. - Allows projects to be associated with books. - Implement edges and transactions. - Implemented `PhabricatorApplicationTransactionInterface` in `DivinerLiveBook`. Test Plan: - Generated a Diviner book with `./bin/diviner generate`. - Added projects to a book and ensured that they persisted. - Changed the view policy on a book and made sure it was effective. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T4558 Differential Revision: https://secure.phabricator.com/D13091
17 lines
566 B
SQL
17 lines
566 B
SQL
CREATE TABLE {$NAMESPACE}_diviner.edge (
|
|
src VARBINARY(64) NOT NULL,
|
|
type INT UNSIGNED NOT NULL,
|
|
dst VARBINARY(64) NOT NULL,
|
|
dateCreated INT UNSIGNED NOT NULL,
|
|
seq INT UNSIGNED NOT NULL,
|
|
dataID INT UNSIGNED,
|
|
|
|
PRIMARY KEY (src, type, dst),
|
|
KEY src (src, type, dateCreated, seq),
|
|
UNIQUE KEY key_dst (dst, type, src)
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|
|
|
|
CREATE TABLE {$NAMESPACE}_diviner.edgedata (
|
|
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
data LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT}
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|