4 * Updates the database layout during the update from 6.0 to 6.1.
7 * @copyright 2001-2023 WoltLab GmbH
8 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
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
;
21 DatabaseTable
::create('wcf1_acp_dashboard_box_to_user')
23 NotNullVarchar191DatabaseTableColumn
::create('boxName'),
24 NotNullInt10DatabaseTableColumn
::create('userID'),
25 DefaultFalseBooleanDatabaseTableColumn
::create('enabled'),
26 NotNullInt10DatabaseTableColumn
::create('showOrder')
29 DatabaseTableIndex
::create('boxToUser')
30 ->columns(['boxName', 'userID'])
31 ->type(DatabaseTableIndex
::UNIQUE_TYPE
),
34 DatabaseTableForeignKey
::create()
36 ->referencedTable('wcf1_user')
37 ->referencedColumns(['userID'])
38 ->onDelete('CASCADE'),
40 PartialDatabaseTable
::create('wcf1_message_embedded_object')
42 DatabaseTableIndex
::create('messageEmbeddedObject')
43 ->type(DatabaseTableIndex
::UNIQUE_TYPE
)
44 ->columns(['messageObjectTypeID', 'messageID', 'embeddedObjectTypeID', 'embeddedObjectID']),
46 PartialDatabaseTable
::create('wcf1_background_job')
48 VarcharDatabaseTableColumn
::create('identifier')
53 DatabaseTableIndex
::create('identifier')
54 ->columns(['identifier']),