mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Ensure users can be deleted when foreign keys are present
This change is necessary to prevent this: mysql> delete from Users where ID = 112; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`aur`.`Packages`, CONSTRAINT `Packages_ibfk_2` FOREIGN KEY (`SubmitterUID`) REFERENCES `Users` (`ID`) ON DELETE NO ACTION) As a bonus, due to foreign keys, orphaning of packages will be automatic. Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
parent
abd41bbb51
commit
f9eba12312
2 changed files with 3 additions and 3 deletions
|
@ -114,8 +114,9 @@ CREATE TABLE Packages (
|
|||
INDEX (SubmitterUID),
|
||||
INDEX (MaintainerUID),
|
||||
FOREIGN KEY (CategoryID) REFERENCES PackageCategories(ID) ON DELETE NO ACTION,
|
||||
FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE NO ACTION,
|
||||
FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE NO ACTION
|
||||
-- deleting a user will cause packages to be orphaned, not deleted
|
||||
FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE SET NULL,
|
||||
FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE SET NULL
|
||||
) ENGINE = InnoDB;
|
||||
|
||||
|
||||
|
|
|
@ -801,7 +801,6 @@ function user_suspended( $id )
|
|||
|
||||
/*
|
||||
* This should be expanded to return something
|
||||
* TODO: Handle orphaning of user's packages
|
||||
*/
|
||||
function user_delete( $id )
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue