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

(-)a/installer/data/mysql/atomicupdate/bug_21946.perl (+20 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    unless ( column_exists('itemtypes', 'parent_type') ) {
4
        $dbh->do(q{
5
            ALTER TABLE itemtypes
6
                ADD COLUMN parent_type VARCHAR(10) NULL DEFAULT NULL
7
                AFTER itemtype;
8
9
        });
10
    }
11
    unless ( foreign_key_exists( 'itemtypes', 'itemtypes_ibfk_1') ){
12
        $dbh->do(q{
13
            ALTER TABLE itemtypes
14
            ADD CONSTRAINT itemtypes_ibfk_1
15
            FOREIGN KEY (parent_type) REFERENCES itemtypes (itemtype)
16
        });
17
    }
18
    SetVersion( $DBversion );
19
    print "Upgrade to $DBversion done (Bug 21946 - Add parent type to itemtypes)\n";
20
}
(-)a/installer/data/mysql/kohastructure.sql (-1 / +2 lines)
Lines 897-902 CREATE TABLE `items` ( -- holdings/item information Link Here
897
DROP TABLE IF EXISTS `itemtypes`;
897
DROP TABLE IF EXISTS `itemtypes`;
898
CREATE TABLE `itemtypes` ( -- defines the item types
898
CREATE TABLE `itemtypes` ( -- defines the item types
899
  itemtype varchar(10) NOT NULL default '', -- unique key, a code associated with the item type
899
  itemtype varchar(10) NOT NULL default '', -- unique key, a code associated with the item type
900
  parent_type varchar(10) NULL default NULL, -- unique key, a code associated with the item type
900
  description LONGTEXT, -- a plain text explanation of the item type
901
  description LONGTEXT, -- a plain text explanation of the item type
901
  rentalcharge decimal(28,6) default NULL, -- the amount charged when this item is checked out/issued
902
  rentalcharge decimal(28,6) default NULL, -- the amount charged when this item is checked out/issued
902
  rentalcharge_daily decimal(28,6) default NULL, -- the amount charged for each day between checkout date and due date
903
  rentalcharge_daily decimal(28,6) default NULL, -- the amount charged for each day between checkout date and due date
Lines 914-919 CREATE TABLE `itemtypes` ( -- defines the item types Link Here
914
  hideinopac tinyint(1) NOT NULL DEFAULT 0, -- Hide the item type from the search options in OPAC
915
  hideinopac tinyint(1) NOT NULL DEFAULT 0, -- Hide the item type from the search options in OPAC
915
  searchcategory varchar(80) default NULL, -- Group this item type with others with the same value on OPAC search options
916
  searchcategory varchar(80) default NULL, -- Group this item type with others with the same value on OPAC search options
916
  PRIMARY KEY  (`itemtype`),
917
  PRIMARY KEY  (`itemtype`),
918
  CONSTRAINT itemtypes_ibfk_1 FOREIGN KEY (parent_type) REFERENCES itemtypes(itemtype) ON UPDATE CASCADE ON DELETE CASCADE,
917
  UNIQUE KEY `itemtype` (`itemtype`)
919
  UNIQUE KEY `itemtype` (`itemtype`)
918
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
920
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
919
921
920
- 

Return to bug 21946