if( CheckVersion( $DBversion ) ) {
unless (TableExists('branches_overdrive')){
$dbh->do( q|
- CREATE TABLE IF NOT EXISTS branches_overdrive (
+ CREATE TABLE branches_overdrive (
`branchcode` VARCHAR( 10 ) NOT NULL ,
`authname` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY (`branchcode`) ,
$DBversion = '19.06.00.030';
if( CheckVersion( $DBversion ) ) {
- $dbh->do(q|
- CREATE TABLE IF NOT EXISTS club_holds (
- id INT(11) NOT NULL AUTO_INCREMENT,
- club_id INT(11) NOT NULL, -- id for the club the hold was generated for
- biblio_id INT(11) NOT NULL, -- id for the bibliographic record the hold has been placed against
- item_id INT(11) NULL DEFAULT NULL, -- If item-level, the id for the item the hold has been placed agains
- date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Timestamp for the placed hold
- PRIMARY KEY (id),
- -- KEY club_id (club_id),
- CONSTRAINT clubs_holds_ibfk_1 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT clubs_holds_ibfk_2 FOREIGN KEY (biblio_id) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT clubs_holds_ibfk_3 FOREIGN KEY (item_id) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- |);
+ if ( !TableExists('club_holds') ) {
+ $dbh->do(q|
+ CREATE TABLE club_holds (
+ id INT(11) NOT NULL AUTO_INCREMENT,
+ club_id INT(11) NOT NULL, -- id for the club the hold was generated for
+ biblio_id INT(11) NOT NULL, -- id for the bibliographic record the hold has been placed against
+ item_id INT(11) NULL DEFAULT NULL, -- If item-level, the id for the item the hold has been placed agains
+ date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Timestamp for the placed hold
+ PRIMARY KEY (id),
+ -- KEY club_id (club_id),
+ CONSTRAINT clubs_holds_ibfk_1 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT clubs_holds_ibfk_2 FOREIGN KEY (biblio_id) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT clubs_holds_ibfk_3 FOREIGN KEY (item_id) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+ |);
+ }
- $dbh->do(q|
- CREATE TABLE IF NOT EXISTS club_holds_to_patron_holds (
- id INT(11) NOT NULL AUTO_INCREMENT,
- club_hold_id INT(11) NOT NULL,
- patron_id INT(11) NOT NULL,
- hold_id INT(11),
- error_code ENUM ( 'damaged', 'ageRestricted', 'itemAlreadyOnHold',
- 'tooManyHoldsForThisRecord', 'tooManyReservesToday',
- 'tooManyReserves', 'notReservable', 'cannotReserveFromOtherBranches',
- 'libraryNotFound', 'libraryNotPickupLocation', 'cannotBeTransferred'
- ) NULL DEFAULT NULL,
- error_message varchar(100) NULL DEFAULT NULL,
- PRIMARY KEY (id),
- -- KEY club_hold_id (club_hold_id),
- CONSTRAINT clubs_holds_paton_holds_ibfk_1 FOREIGN KEY (club_hold_id) REFERENCES club_holds (id) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT clubs_holds_paton_holds_ibfk_2 FOREIGN KEY (patron_id) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT clubs_holds_paton_holds_ibfk_3 FOREIGN KEY (hold_id) REFERENCES reserves (reserve_id) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- |);
+ if ( !TableExists('club_holds_to_patron_holds') ) {
+ $dbh->do(q|
+ CREATE TABLE club_holds_to_patron_holds (
+ id INT(11) NOT NULL AUTO_INCREMENT,
+ club_hold_id INT(11) NOT NULL,
+ patron_id INT(11) NOT NULL,
+ hold_id INT(11),
+ error_code ENUM ( 'damaged', 'ageRestricted', 'itemAlreadyOnHold',
+ 'tooManyHoldsForThisRecord', 'tooManyReservesToday',
+ 'tooManyReserves', 'notReservable', 'cannotReserveFromOtherBranches',
+ 'libraryNotFound', 'libraryNotPickupLocation', 'cannotBeTransferred'
+ ) NULL DEFAULT NULL,
+ error_message varchar(100) NULL DEFAULT NULL,
+ PRIMARY KEY (id),
+ -- KEY club_hold_id (club_hold_id),
+ CONSTRAINT clubs_holds_paton_holds_ibfk_1 FOREIGN KEY (club_hold_id) REFERENCES club_holds (id) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT clubs_holds_paton_holds_ibfk_2 FOREIGN KEY (patron_id) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT clubs_holds_paton_holds_ibfk_3 FOREIGN KEY (hold_id) REFERENCES reserves (reserve_id) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+ |);
+ }
# Always end with this (adjust the bug info)
SetVersion( $DBversion );
if ( CheckVersion($DBversion) ) {
# Adding account_debit_types
- $dbh->do(
- qq{
- CREATE TABLE IF NOT EXISTS account_debit_types (
- code varchar(80) NOT NULL,
- description varchar(200) NULL,
- can_be_added_manually tinyint(4) NOT NULL DEFAULT 1,
- default_amount decimal(28, 6) NULL,
- is_system tinyint(1) NOT NULL DEFAULT 0,
- archived tinyint(1) NOT NULL DEFAULT 0,
- PRIMARY KEY (code)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
- }
- );
+ if ( !TableExists('account_debit_types') ) {
+ $dbh->do(
+ qq{
+ CREATE TABLE account_debit_types (
+ code varchar(80) NOT NULL,
+ description varchar(200) NULL,
+ can_be_added_manually tinyint(4) NOT NULL DEFAULT 1,
+ default_amount decimal(28, 6) NULL,
+ is_system tinyint(1) NOT NULL DEFAULT 0,
+ archived tinyint(1) NOT NULL DEFAULT 0,
+ PRIMARY KEY (code)
+ ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
+ }
+ );
+ }
# Adding account_debit_types_branches
- $dbh->do(
- qq{
- CREATE TABLE IF NOT EXISTS account_debit_types_branches (
- debit_type_code VARCHAR(80),
- branchcode VARCHAR(10),
- FOREIGN KEY (debit_type_code) REFERENCES account_debit_types(code) ON DELETE CASCADE,
- FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
- }
- );
+ if ( !TableExists('account_debit_types_branches') ) {
+ $dbh->do(
+ qq{
+ CREATE TABLE account_debit_types_branches (
+ debit_type_code VARCHAR(80),
+ branchcode VARCHAR(10),
+ FOREIGN KEY (debit_type_code) REFERENCES account_debit_types(code) ON DELETE CASCADE,
+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+ }
+ );
+ }
# Populating account_debit_types
$dbh->do(
if ( CheckVersion($DBversion) ) {
# Adding account_credit_types
- $dbh->do(
- qq{
- CREATE TABLE IF NOT EXISTS account_credit_types (
- code varchar(80) NOT NULL,
- description varchar(200) NULL,
- can_be_added_manually tinyint(4) NOT NULL DEFAULT 1,
- is_system tinyint(1) NOT NULL DEFAULT 0,
- PRIMARY KEY (code)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
- }
- );
+ if ( !TableExists('account_credit_types') ) {
+ $dbh->do(
+ qq{
+ CREATE TABLE account_credit_types (
+ code varchar(80) NOT NULL,
+ description varchar(200) NULL,
+ can_be_added_manually tinyint(4) NOT NULL DEFAULT 1,
+ is_system tinyint(1) NOT NULL DEFAULT 0,
+ PRIMARY KEY (code)
+ ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
+ }
+ );
+ }
# Adding account_credit_types_branches
- $dbh->do(
- qq{
- CREATE TABLE IF NOT EXISTS account_credit_types_branches (
- credit_type_code VARCHAR(80),
- branchcode VARCHAR(10),
- FOREIGN KEY (credit_type_code) REFERENCES account_credit_types(code) ON DELETE CASCADE,
- FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
- }
- );
+ if ( !TableExists('account_credit_types_branches') ) {
+ $dbh->do(
+ qq{
+ CREATE TABLE account_credit_types_branches (
+ credit_type_code VARCHAR(80),
+ branchcode VARCHAR(10),
+ FOREIGN KEY (credit_type_code) REFERENCES account_credit_types(code) ON DELETE CASCADE,
+ FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+ }
+ );
+ }
# Populating account_credit_types
$dbh->do(
if ( CheckVersion($DBversion) ) {
# Add cash_register_actions table
- $dbh->do(qq{
- CREATE TABLE IF NOT EXISTS `cash_register_actions` (
- `id` int(11) NOT NULL auto_increment, -- unique identifier for each account register action
- `code` varchar(24) NOT NULL, -- action code denoting the type of action recorded (enum),
- `register_id` int(11) NOT NULL, -- id of cash_register this action belongs to,
- `manager_id` int(11) NOT NULL, -- staff member performing the action
- `amount` decimal(28,6) DEFAULT NULL, -- amount recorded in action (signed)
- `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`),
- CONSTRAINT `cash_register_actions_manager` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `cash_register_actions_register` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
- });
+ if ( !TableExists('cash_register_actions') ) {
+ $dbh->do(qq{
+ CREATE TABLE `cash_register_actions` (
+ `id` int(11) NOT NULL auto_increment, -- unique identifier for each account register action
+ `code` varchar(24) NOT NULL, -- action code denoting the type of action recorded (enum),
+ `register_id` int(11) NOT NULL, -- id of cash_register this action belongs to,
+ `manager_id` int(11) NOT NULL, -- staff member performing the action
+ `amount` decimal(28,6) DEFAULT NULL, -- amount recorded in action (signed)
+ `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ CONSTRAINT `cash_register_actions_manager` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `cash_register_actions_register` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+ });
+ }
# Add cashup permission
$dbh->do(qq{