Correct Aphlict websocket URI construction after PHP8 compatibility changes
[phabricator.git] / resources / sql / autopatches / 20160122.project.1.boarddefault.php
blob0ffce8d834a3fdd9c2ed7695c3dcacb0f978cd68
1 <?php
3 // Populate the newish `hasWorkboard` column for projects with workboard.
4 // Set the default menu item to "Workboard" for projects which used to have
5 // that default.
7 $project_table = new PhabricatorProject();
8 $conn_w = $project_table->establishConnection('w');
10 $panel_table = id(new PhabricatorProfileMenuItemConfiguration());
11 $panel_conn = $panel_table->establishConnection('w');
13 foreach (new LiskMigrationIterator($project_table) as $project) {
14 $columns = queryfx_all(
15 $conn_w,
16 'SELECT * FROM %T WHERE projectPHID = %s',
17 id(new PhabricatorProjectColumn())->getTableName(),
18 $project->getPHID());
20 // This project has no columns, so we don't need to change anything.
21 if (!$columns) {
22 continue;
25 // This project has columns, so set its workboard flag.
26 queryfx(
27 $conn_w,
28 'UPDATE %T SET hasWorkboard = 1 WHERE id = %d',
29 $project->getTableName(),
30 $project->getID());
32 // Try to set the default menu item to "Workboard".
33 $config = queryfx_all(
34 $panel_conn,
35 'SELECT * FROM %T WHERE profilePHID = %s',
36 $panel_table->getTableName(),
37 $project->getPHID());
39 // There are already some settings, so don't touch them.
40 if ($config) {
41 continue;
44 queryfx(
45 $panel_conn,
46 'INSERT INTO %T
47 (phid, profilePHID, panelKey, builtinKey, visibility, panelProperties,
48 panelOrder, dateCreated, dateModified)
49 VALUES (%s, %s, %s, %s, %s, %s, %d, %d, %d)',
50 $panel_table->getTableName(),
51 $panel_table->generatePHID(),
52 $project->getPHID(),
53 PhabricatorProjectWorkboardProfileMenuItem::MENUITEMKEY,
54 PhabricatorProject::ITEM_WORKBOARD,
55 PhabricatorProfileMenuItemConfiguration::VISIBILITY_DEFAULT,
56 '{}',
58 PhabricatorTime::getNow(),
59 PhabricatorTime::getNow());