Fixed experimental upgrade path
authorAlexander Ebert <ebert@woltlab.com>
Tue, 8 Aug 2017 11:39:20 +0000 (13:39 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Tue, 8 Aug 2017 13:37:02 +0000 (15:37 +0200)
com.woltlab.wcf/package.xml
com.woltlab.wcf/update_3.1.sql
wcfsetup/install/files/acp/update_com.woltlab.wcf_3.1_pageSearchIndex.php [new file with mode: 0644]

index 55660ec4ebd98069bbccf33e907d92759024b90c..2404d1fda705a6148c2fec8bc6b1774624a698c1 100644 (file)
                <instruction type="clipboardAction" />
                <instruction type="cronjob" />
                <instruction type="eventListener" />
-               <instruction type="menuItem" />
                <instruction type="objectTypeDefinition" />
                <instruction type="objectType" />
                <instruction type="option" />
-               <instruction type="page" />
                <instruction type="userGroupOption" />
                <instruction type="userNotificationEvent" />
                <instruction type="userOption" />
                
+               <instruction type="script" run="standalone" flushCache="false">acp/update_com.woltlab.wcf_3.1_pageSearchIndex.php</instruction>
+               
+               <instruction type="page" />
+               <!-- contains a reference to a new page -->
+               <instruction type="menuItem" />
+               
                <instruction type="packageInstallationPlugin" />
                <!-- new pip -->
                <instruction type="mediaProvider" />
index f9d8815648e77e2ccbbd3e46dab3405182f8483c..692503eff687f61860431b1094b8323a29d17370 100644 (file)
@@ -18,16 +18,19 @@ ALTER TABLE wcf1_comment ADD COLUMN unfilteredResponses MEDIUMINT(7) NOT NULL DE
 ALTER TABLE wcf1_comment ADD COLUMN unfilteredResponseIDs VARCHAR(255) NOT NULL DEFAULT '';
 ALTER TABLE wcf1_comment ADD COLUMN enableHtml TINYINT(1) NOT NULL DEFAULT 0;
 ALTER TABLE wcf1_comment ADD COLUMN isDisabled TINYINT(1) NOT NULL DEFAULT 0;
--- WARNING: May be slow, use a separate request?
-ALTER TABLE wcf1_comment DROP KEY (objectTypeID, objectID, time);
--- WARNING: May be slow, use a separate request?
+
+-- WARNING: May be slow, use a separate request? // the foreign key relies on the index `objectTypeID`
+ALTER TABLE wcf1_comment DROP FOREIGN KEY objectTypeID;
+ALTER TABLE wcf1_comment DROP KEY objectTypeID;
 ALTER TABLE wcf1_comment ADD KEY (objectTypeID, objectID, isDisabled, time);
+ALTER TABLE wcf1_comment ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
 
 ALTER TABLE wcf1_comment_response ADD COLUMN isDisabled TINYINT(1) NOT NULL DEFAULT 0;
--- WARNING: May be slow, use a separate request?
-ALTER TABLE wcf1_comment_response DROP KEY (commentID, time);
--- WARNING: May be slow, use a separate request?
+-- WARNING: May be slow, use a separate request?  // the foreign key relies on the index `commentID`
+ALTER TABLE wcf1_comment_response DROP FOREIGN KEY commentID;
+ALTER TABLE wcf1_comment_response DROP KEY commentID;
 ALTER TABLE wcf1_comment_response ADD KEY (commentID, isDisabled, time);
+ALTER TABLE wcf1_comment_response ADD FOREIGN KEY (commentID) REFERENCES wcf1_comment (commentID) ON DELETE CASCADE;
 
 DROP TABLE IF EXISTS wcf1_contact_option;
 CREATE TABLE wcf1_contact_option (
@@ -94,7 +97,6 @@ CREATE TABLE wcf1_page_box_order (
 
 ALTER TABLE wcf1_paid_subscription_user ADD COLUMN sentExpirationNotification TINYINT(1) NOT NULL DEFAULT 0;
 
-ALTER TABLE wcf1_style ADD isTainted TINYINT(1) NOT NULL DEFAULT 0;
 ALTER TABLE wcf1_style ADD hasFavicon TINYINT(1) NOT NULL DEFAULT 0;
 
 DROP TABLE IF EXISTS wcf1_trophy;
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_3.1_pageSearchIndex.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_3.1_pageSearchIndex.php
new file mode 100644 (file)
index 0000000..52f527d
--- /dev/null
@@ -0,0 +1,6 @@
+<?php
+use wcf\system\cache\builder\ObjectTypeCacheBuilder;
+use wcf\system\search\SearchIndexManager;
+
+ObjectTypeCacheBuilder::getInstance()->reset();
+SearchIndexManager::getInstance()->createSearchIndices();