Insert new `identifier` column for background jobs
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / database / update_com.woltlab.wcf_6.1.php
1 <?php
2
3 /**
4 * Updates the database layout during the update from 6.0 to 6.1.
5 *
6 * @author Marcel Werk
7 * @copyright 2001-2023 WoltLab GmbH
8 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
9 */
10
11 use wcf\system\database\table\column\DefaultFalseBooleanDatabaseTableColumn;
12 use wcf\system\database\table\column\NotNullInt10DatabaseTableColumn;
13 use wcf\system\database\table\column\NotNullVarchar191DatabaseTableColumn;
14 use wcf\system\database\table\column\VarcharDatabaseTableColumn;
15 use wcf\system\database\table\DatabaseTable;
16 use wcf\system\database\table\index\DatabaseTableForeignKey;
17 use wcf\system\database\table\index\DatabaseTableIndex;
18 use wcf\system\database\table\PartialDatabaseTable;
19
20 return [
21 DatabaseTable::create('wcf1_acp_dashboard_box_to_user')
22 ->columns([
23 NotNullVarchar191DatabaseTableColumn::create('boxName'),
24 NotNullInt10DatabaseTableColumn::create('userID'),
25 DefaultFalseBooleanDatabaseTableColumn::create('enabled'),
26 NotNullInt10DatabaseTableColumn::create('showOrder')
27 ->defaultValue(0),
28 ])->indices([
29 DatabaseTableIndex::create('boxToUser')
30 ->columns(['boxName', 'userID'])
31 ->type(DatabaseTableIndex::UNIQUE_TYPE),
32 ])
33 ->foreignKeys([
34 DatabaseTableForeignKey::create()
35 ->columns(['userID'])
36 ->referencedTable('wcf1_user')
37 ->referencedColumns(['userID'])
38 ->onDelete('CASCADE'),
39 ]),
40 PartialDatabaseTable::create('wcf1_message_embedded_object')
41 ->indices([
42 DatabaseTableIndex::create('messageEmbeddedObject')
43 ->type(DatabaseTableIndex::UNIQUE_TYPE)
44 ->columns(['messageObjectTypeID', 'messageID', 'embeddedObjectTypeID', 'embeddedObjectID']),
45 ]),
46 PartialDatabaseTable::create('wcf1_background_job')
47 ->columns([
48 VarcharDatabaseTableColumn::create('identifier')
49 ->length(191)
50 ->defaultValue(null),
51 ])
52 ->indices([
53 DatabaseTableIndex::create('identifier')
54 ->columns(['identifier']),
55 ])
56 ];