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 3354-3360 CREATE TABLE `linktracker` ( Link Here
3354
  KEY `bibidx` (`biblionumber`),
3354
  KEY `bibidx` (`biblionumber`),
3355
  KEY `itemidx` (`itemnumber`),
3355
  KEY `itemidx` (`itemnumber`),
3356
  KEY `borridx` (`borrowernumber`),
3356
  KEY `borridx` (`borrowernumber`),
3357
  KEY `dateidx` (`timeclicked`)
3357
  KEY `dateidx` (`timeclicked`),
3358
  CONSTRAINT `linktracker_biblio_ibfk` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3359
  CONSTRAINT `linktracker_item_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3360
  CONSTRAINT `linktracker_borrower_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL
3358
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3361
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3359
/*!40101 SET character_set_client = @saved_cs_client */;
3362
/*!40101 SET character_set_client = @saved_cs_client */;
3360
3363
3361
- 

Return to bug 22690