@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
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add an edge table to the `search` database

Summary:
Fixes T10778. This is a result of T10262: when we save a form configuration and adjust the policy, we try to scramble attached file secrets.

There aren't going to be any attached files, but there's also no edge table, so we fail.

We could skip this code, but we'll likely need an edge table here sooner or later so it's probably simpler in the long run to just add an empty one.

Test Plan:
- Ran `bin/storage upgrade`, got a clean bill of health.
- Saved a form configuration after making a policy edit, no more `edge` exception.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10778

Differential Revision: https://secure.phabricator.com/D15803

+28
+16
resources/sql/autopatches/20160426.searchedge.sql
··· 1 + CREATE TABLE {$NAMESPACE}_search.edge ( 2 + src VARBINARY(64) NOT NULL, 3 + type INT UNSIGNED NOT NULL, 4 + dst VARBINARY(64) NOT NULL, 5 + dateCreated INT UNSIGNED NOT NULL, 6 + seq INT UNSIGNED NOT NULL, 7 + dataID INT UNSIGNED, 8 + PRIMARY KEY (src, type, dst), 9 + KEY `src` (src, type, dateCreated, seq), 10 + UNIQUE KEY `key_dst` (dst, type, src) 11 + ) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT}; 12 + 13 + CREATE TABLE {$NAMESPACE}_search.edgedata ( 14 + id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, 15 + data LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT} 16 + ) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
+2
src/__phutil_library_map__.php
··· 3306 3306 'PhabricatorSearchPreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorSearchPreferencesSettingsPanel.php', 3307 3307 'PhabricatorSearchRelationship' => 'applications/search/constants/PhabricatorSearchRelationship.php', 3308 3308 'PhabricatorSearchResultView' => 'applications/search/view/PhabricatorSearchResultView.php', 3309 + 'PhabricatorSearchSchemaSpec' => 'applications/search/storage/PhabricatorSearchSchemaSpec.php', 3309 3310 'PhabricatorSearchSelectController' => 'applications/search/controller/PhabricatorSearchSelectController.php', 3310 3311 'PhabricatorSearchSelectField' => 'applications/search/field/PhabricatorSearchSelectField.php', 3311 3312 'PhabricatorSearchStringListField' => 'applications/search/field/PhabricatorSearchStringListField.php', ··· 7982 7983 'PhabricatorSearchPreferencesSettingsPanel' => 'PhabricatorSettingsPanel', 7983 7984 'PhabricatorSearchRelationship' => 'Phobject', 7984 7985 'PhabricatorSearchResultView' => 'AphrontView', 7986 + 'PhabricatorSearchSchemaSpec' => 'PhabricatorConfigSchemaSpec', 7985 7987 'PhabricatorSearchSelectController' => 'PhabricatorSearchBaseController', 7986 7988 'PhabricatorSearchSelectField' => 'PhabricatorSearchField', 7987 7989 'PhabricatorSearchStringListField' => 'PhabricatorSearchField',
+10
src/applications/search/storage/PhabricatorSearchSchemaSpec.php
··· 1 + <?php 2 + 3 + final class PhabricatorSearchSchemaSpec 4 + extends PhabricatorConfigSchemaSpec { 5 + 6 + public function buildSchemata() { 7 + $this->buildEdgeSchemata(new PhabricatorProfilePanelConfiguration()); 8 + } 9 + 10 + }