mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Split the upgrade instructions into several files, one file per version in order to keep them small, readable and to avoid merge conflicts. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
56 lines
2.5 KiB
Text
56 lines
2.5 KiB
Text
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".
|