Added experimental upgrade path
authorAlexander Ebert <ebert@woltlab.com>
Fri, 4 Aug 2017 07:55:43 +0000 (09:55 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 7 Aug 2017 11:56:48 +0000 (13:56 +0200)
com.woltlab.wcf/package.xml
com.woltlab.wcf/update_3.1.sql [new file with mode: 0644]

index d044e1ab3458303b0b47aef8a54ed18c893effc9..be787ba28080d0f62f10a283fc3e12b7846188cb 100644 (file)
@@ -6,7 +6,7 @@
                <packagedescription language="de">Freies CMS und Web-Framework, das eindrucksvolle Websites und Communities ermöglicht.</packagedescription>
                <isapplication>1</isapplication>
                <version>3.1.0 Alpha 1</version> <!-- codename: tornado -->
-               <date>2017-02-21</date>
+               <date>2017-08-03</date>
        </packageinformation>
        
        <authorinformation>
                <instruction type="mediaProvider" />
                <instruction type="script">acp/post_install.php</instruction>
        </instructions>
+       
+       <instructions type="update" fromversion="3.0.7">
+               <instruction type="acpTemplate" />
+               <instruction type="template" />
+               
+               <instruction type="sql" run="standalone">update_3.1.sql</instruction>
+               
+               <instruction type="file" run="standalone" />
+               
+               <instruction type="language" run="standalone" />
+               
+               <instruction type="acpMenu" />
+               <instruction type="bbcode" />
+               <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="packageInstallationPlugin" />
+               <!-- new pip -->
+               <instruction type="mediaProvider" />
+       </instructions>
 </package>
diff --git a/com.woltlab.wcf/update_3.1.sql b/com.woltlab.wcf/update_3.1.sql
new file mode 100644 (file)
index 0000000..083b888
--- /dev/null
@@ -0,0 +1,159 @@
+ALTER TABLE wcf1_article ADD COLUMN isDeleted TINYINT(1) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_article ADD COLUMN hasLabels TINYINT(1) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_article_content ADD COLUMN teaserImageID INT(10);
+
+ALTER TABLE wcf1_bbcode_media_provider ADD COLUMN name VARCHAR(80) NOT NULL;
+ALTER TABLE wcf1_bbcode_media_provider ADD COLUMN packageID INT(10) NOT NULL;
+ALTER TABLE wcf1_bbcode_media_provider ADD COLUMN className varchar(255) NOT NULL DEFAULT '';
+ALTER TABLE wcf1_bbcode_media_provider ADD UNIQUE KEY name (name, packageID);
+
+ALTER TABLE wcf1_box ADD COLUMN lastUpdateTime INT(10) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_comment ADD COLUMN unfilteredResponses MEDIUMINT(7) NOT NULL DEFAULT '0';
+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?
+ALTER TABLE wcf1_comment ADD KEY (objectTypeID, objectID, isDisabled, time);
+
+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?
+ALTER TABLE wcf1_comment_response ADD KEY (commentID, isDisabled, time);
+
+DROP TABLE IF EXISTS wcf1_contact_option;
+CREATE TABLE wcf1_contact_option (
+       optionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       optionTitle VARCHAR(255) NOT NULL DEFAULT '',
+       optionDescription TEXT,
+       optionType VARCHAR(255) NOT NULL DEFAULT '',
+       defaultValue MEDIUMTEXT,
+       validationPattern TEXT,
+       selectOptions MEDIUMTEXT,
+       required TINYINT(1) NOT NULL DEFAULT 0,
+       showOrder INT(10) NOT NULL DEFAULT 0,
+       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       originIsSystem TINYINT(1) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_contact_recipient;
+CREATE TABLE wcf1_contact_recipient (
+       recipientID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       name VARCHAR(255) NOT NULL,
+       email VARCHAR(255) NOT NULL,
+       showOrder INT(10) NOT NULL DEFAULT 0,
+       isAdministrator TINYINT(1) NOT NULL DEFAULT 0,
+       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       originIsSystem TINYINT(1) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_devtools_project;
+CREATE TABLE wcf1_devtools_project (
+       projectID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       name VARCHAR(191) NOT NULL,
+       path TEXT,
+       
+       UNIQUE KEY name (name)
+);
+
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_language_item ADD COLUMN languageItemOldValue MEDIUMTEXT;
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_language_item ADD COLUMN languageCustomItemDisableTime INT(10);
+
+ALTER TABLE wcf1_media ADD COLUMN categoryID INT(10);
+
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_modification_log ADD COLUMN hidden TINYINT(1) NOT NULL DEFAULT 0;
+
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_package_update ADD COLUMN pluginStoreFileID INT(10) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_package_update_server CHANGE COLUMN apiVersion apiVersion ENUM('2.0', '2.1', '3.1') NOT NULL DEFAULT '2.0';
+
+ALTER TABLE wcf1_page ADD COLUMN cssClassName VARCHAR(255) NOT NULL DEFAULT '';
+ALTER TABLE wcf1_page ADD COLUMN availableDuringOfflineMode TINYINT(1) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_page ADD COLUMN allowSpidersToIndex TINYINT(1) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_page ADD COLUMN excludeFromLandingPage TINYINT(1) NOT NULL DEFAULT 0;
+
+DROP TABLE IF EXISTS wcf1_page_box_order;
+CREATE TABLE wcf1_page_box_order (
+       pageID INT(10) NOT NULL,
+       boxID INT(10) NOT NULL,
+       showOrder INT(10) NOT NULL DEFAULT 0,
+       UNIQUE KEY pageToBox (pageID, boxID)
+);
+
+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;
+CREATE TABLE wcf1_trophy(
+       trophyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       title VARCHAR(255),
+       description MEDIUMTEXT, 
+       categoryID INT(10) NOT NULL,
+       type SMALLINT(1) DEFAULT 1,
+       iconFile MEDIUMTEXT, 
+       iconName VARCHAR(255),
+       iconColor VARCHAR(255),
+       badgeColor VARCHAR(255),
+       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       awardAutomatically TINYINT(1) NOT NULL DEFAULT 0,
+       KEY(categoryID)
+);
+
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_user ADD COLUMN trophyPoints INT(10) NOT NULL DEFAULT 0;
+-- WARNING: May be slow, use a separate request?
+ALTER TABLE wcf1_user ADD KEY trophyPoints (trophyPoints);
+
+DROP TABLE IF EXISTS wcf1_user_special_trophy;
+CREATE TABLE wcf1_user_special_trophy(
+       trophyID INT(10) NOT NULL,
+       userID INT(10) NOT NULL,
+       UNIQUE KEY (trophyID, userID)
+);
+
+DROP TABLE IF EXISTS wcf1_user_trophy;
+CREATE TABLE wcf1_user_trophy(
+       userTrophyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       trophyID INT(10) NOT NULL,
+       userID INT(10) NOT NULL,
+       time INT(10) NOT NULL DEFAULT 0,
+       description MEDIUMTEXT,
+       useCustomDescription TINYINT(1) NOT NULL DEFAULT 0,
+       KEY(trophyID, time)
+);
+
+ALTER TABLE wcf1_user_rank ADD COLUMN hideTitle TINYINT(1) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_article_content ADD FOREIGN KEY (teaserImageID) REFERENCES wcf1_media (mediaID) ON DELETE SET NULL;
+ALTER TABLE wcf1_bbcode_media_provider ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
+ALTER TABLE wcf1_media ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE SET NULL;
+ALTER TABLE wcf1_page_box_order ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
+ALTER TABLE wcf1_page_box_order ADD FOREIGN KEY (boxID) REFERENCES wcf1_box (boxID) ON DELETE CASCADE;
+ALTER TABLE wcf1_trophy ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE CASCADE;
+ALTER TABLE wcf1_user_trophy ADD FOREIGN KEY (trophyID) REFERENCES wcf1_trophy (trophyID) ON DELETE CASCADE;
+ALTER TABLE wcf1_user_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (trophyID) REFERENCES wcf1_trophy (trophyID) ON DELETE CASCADE;
+
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonBackground', 'rgba(58, 109, 156, 1)');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonBackgroundActive', 'rgba(36, 66, 95, 1)');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonText', 'rgba(255, 255, 255, 1)');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonTextActive', 'rgba(255, 255, 255, 1)');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfEditorButtonTextDisabled', 'rgba(165, 165, 165, 1)');
+
+-- default options: subject and message
+INSERT INTO wcf1_contact_option (optionID, optionTitle, optionDescription, optionType, required, showOrder, originIsSystem) VALUES (1, 'wcf.contact.option1', 'wcf.contact.optionDescription1', 'text', 1, 1, 1);
+INSERT INTO wcf1_contact_option (optionID, optionTitle, optionDescription, optionType, required, showOrder, originIsSystem) VALUES (2, 'wcf.contact.option2', '', 'textarea', 1, 1, 1);
+
+-- default recipient: site administrator
+INSERT INTO wcf1_contact_recipient (recipientID, name, email, isAdministrator, originIsSystem) VALUES (1, 'wcf.contact.recipient.name1', '', 1, 1);