blob: 48c2119d0385210f8260d1109610ef1d7ca38e1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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".
|