diff options
Diffstat (limited to 'upgrading/1.8.1.txt')
-rw-r--r-- | upgrading/1.8.1.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/upgrading/1.8.1.txt b/upgrading/1.8.1.txt new file mode 100644 index 0000000..48c2119 --- /dev/null +++ b/upgrading/1.8.1.txt @@ -0,0 +1,56 @@ +1. Drop foreign keys from the "Sessions" table: + +`ALTER TABLE Sessions DROP FOREIGN KEY Sessions_ibfk_1;` should work in most +cases. Otherwise, check the output of `SHOW CREATE TABLE Sessions;` and use the +foreign key name shown there. + +2. Run the following MySQL statements: + +---- +ALTER TABLE Sessions + ADD FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE; +ALTER TABLE PackageDepends + ADD FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (DepPkgID) REFERENCES Packages(ID) ON DELETE CASCADE; +ALTER TABLE PackageSources + ADD FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE; +ALTER TABLE TU_VoteInfo + ADD FOREIGN KEY (SubmitterID) REFERENCES Users(ID) ON DELETE CASCADE; +ALTER TABLE TU_Votes + ADD FOREIGN KEY (VoteID) REFERENCES TU_VoteInfo(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (UserID) REFERENCES Users(ID) ON DELETE CASCADE; +ALTER TABLE PackageComments + MODIFY DelUsersID INTEGER UNSIGNED NULL DEFAULT NULL; +UPDATE PackageComments SET DelUsersID = NULL WHERE DelUsersID = 0; +ALTER TABLE Packages + MODIFY SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, + MODIFY MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL; +UPDATE Packages SET SubmitterUID = NULL WHERE SubmitterUID = 0; +UPDATE Packages SET MaintainerUID = NULL WHERE MaintainerUID = 0; +---- + +3. (optional) If you converted your database from MyISAM to InnoDB during the +upgrade process from 1.7.0 to 1.8.0 or from 1.8.0 to 1.8.1 without completely +rebuilding the database from the MySQL schema, you should additionally run the +following MySQL statements to add missing foreign keys: + +---- +ALTER TABLE Users + ADD FOREIGN KEY (AccountTypeID) REFERENCES AccountTypes(ID) ON DELETE NO ACTION; +ALTER TABLE Packages + ADD FOREIGN KEY (CategoryID) REFERENCES PackageCategories(ID) ON DELETE NO ACTION, + ADD FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE NO ACTION, + ADD FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE NO ACTION; +ALTER TABLE PackageVotes + ADD FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE; +ALTER TABLE PackageComments + ADD FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (DelUsersID) REFERENCES Users(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE; +ALTER TABLE CommentNotify + ADD FOREIGN KEY (PkgID) REFERENCES Packages(ID) ON DELETE CASCADE, + ADD FOREIGN KEY (UserID) REFERENCES Users(ID) ON DELETE CASCADE; +---- + +4. Merge "web/lib/config.inc.proto" with "web/lib/config.inc". |