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

(-)a/installer/data/mysql/atomicupdate/bug_22690.perl (+21 lines)
Line 0 Link Here
1
$DBversion = 'XXX'; # will be replaced by the RM
2
if( CheckVersion( $DBversion ) ) {
3
4
    unless( foreign_key_exists( 'linktracker', 'linktracker_biblio_ibfk' ) ) {
5
        $dbh->do(q{ UPDATE linktracker SET biblionumber = NULL WHERE biblionumber NOT IN (SELECT biblionumber FROM biblio) });
6
        $dbh->do(q{ ALTER TABLE linktracker ADD CONSTRAINT `linktracker_biblio_ibfk` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL });
7
    }
8
9
    unless( foreign_key_exists( 'linktracker', 'linktracker_item_ibfk' ) ) {
10
        $dbh->do(q{ UPDATE linktracker SET itemnumber = NULL WHERE itemnumber NOT IN (SELECT itemnumber FROM items) });
11
        $dbh->do(q{ ALTER TABLE linktracker ADD CONSTRAINT `linktracker_item_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL });
12
    }
13
14
    unless( foreign_key_exists( 'linktracker', 'linktracker_borrower_ibfk' ) ) {
15
        $dbh->do(q{ UPDATE linktracker SET borrowernumber = NULL WHERE borrowernumber NOT IN (SELECT borrowernumber FROM borrowers) });
16
        $dbh->do(q{ ALTER TABLE linktracker ADD CONSTRAINT `linktracker_borrower_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL });
17
    }
18
19
    # Always end with this (adjust the bug info)
20
    NewVersion( $DBversion, 22690, "Add constraints to linktracker table");
21
}
(-)a/installer/data/mysql/kohastructure.sql (-2 / +4 lines)
Lines 3339-3345 CREATE TABLE `linktracker` ( Link Here
3339
  KEY `bibidx` (`biblionumber`),
3339
  KEY `bibidx` (`biblionumber`),
3340
  KEY `itemidx` (`itemnumber`),
3340
  KEY `itemidx` (`itemnumber`),
3341
  KEY `borridx` (`borrowernumber`),
3341
  KEY `borridx` (`borrowernumber`),
3342
  KEY `dateidx` (`timeclicked`)
3342
  KEY `dateidx` (`timeclicked`),
3343
  CONSTRAINT `linktracker_biblio_ibfk` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3344
  CONSTRAINT `linktracker_item_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3345
  CONSTRAINT `linktracker_borrower_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL
3343
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3346
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3344
/*!40101 SET character_set_client = @saved_cs_client */;
3347
/*!40101 SET character_set_client = @saved_cs_client */;
3345
3348
3346
- 

Return to bug 22690