View | Details | Raw Unified | Return to bug 30060
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/update_user_permissions_table.pl (+24 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number => "30060",
5
    description => "Update user_permissions to add primary key and remove null option from code column",
6
    up => sub {
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
9
        unless(
10
            primary_key_exists( 'user_permissions', 'borrowernumber') &&
11
            primary_key_exists( 'user_permissions', 'module_bit' ) &&
12
            primary_key_exists( 'user_permissions', 'code')
13
        ){
14
            $dbh->do(q{
15
                ALTER TABLE user_permissions DROP INDEX IF EXISTS `PRIMARY`
16
            });
17
            say $out "Dropped any previously created primary key";
18
            $dbh->do(q{
19
                ALTER TABLE user_permissions ADD CONSTRAINT PK_borrowernumber_module_code PRIMARY KEY (borrowernumber,module_bit,code)
20
            });
21
            say $out "Added a primary key on user_permissions on borrowernumber, module_bit, code";
22
        }
23
    },
24
}
(-)a/installer/data/mysql/kohastructure.sql (-2 / +2 lines)
Lines 5188-5194 DROP TABLE IF EXISTS `user_permissions`; Link Here
5188
CREATE TABLE `user_permissions` (
5188
CREATE TABLE `user_permissions` (
5189
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
5189
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
5190
  `module_bit` int(11) NOT NULL DEFAULT 0,
5190
  `module_bit` int(11) NOT NULL DEFAULT 0,
5191
  `code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5191
  `code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
5192
  PRIMARY KEY (`borrowernumber`,`module_bit`,`code`),
5192
  KEY `user_permissions_ibfk_1` (`borrowernumber`),
5193
  KEY `user_permissions_ibfk_1` (`borrowernumber`),
5193
  KEY `user_permissions_ibfk_2` (`module_bit`,`code`),
5194
  KEY `user_permissions_ibfk_2` (`module_bit`,`code`),
5194
  CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5195
  CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5195
- 

Return to bug 30060