Fix the replacing of WCF_N in PHP DDL during app installation
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Jan 2022 11:36:04 +0000 (12:36 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Jan 2022 11:45:01 +0000 (12:45 +0100)
commit1cfa4eb41df8014d1c001f612c46d788e9434144
tree47c4cc8824f6fb81d781430ac75d08e6bc0e3b4a
parent9da6f7810645fa56394c2c1d2c424d14d83db360
Fix the replacing of WCF_N in PHP DDL during app installation

During app installation the newly installed app might not yet be stored within
the application cache, thus failing to replace the `1` within the table
structure definition.

Fix this by setting the `skipCache` parameter to `true`. This will increase the
number of database queries, because applications will be checked once for each
defined table and for each defined FOREIGN KEY, but I don't see a simple fix
for this issue that avoids this increase in query count. Specifically we cannot
simply reset the application cache after inserting the application into
wcf1_application.
wcfsetup/install/files/lib/system/database/table/DatabaseTable.class.php
wcfsetup/install/files/lib/system/database/table/index/DatabaseTableForeignKey.class.php