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

(-)a/installer/data/mysql/kohastructure.sql (-3685 / +4318 lines)
Lines 1-14 Link Here
1
-- MySQL dump 10.9
1
-- MariaDB dump 10.18  Distrib 10.5.8-MariaDB, for debian-linux-gnu (x86_64)
2
--
2
--
3
-- Host: localhost    Database: koha30test
3
-- Host: db    Database: koha_kohadev
4
-- ------------------------------------------------------
4
-- ------------------------------------------------------
5
-- Server version    4.1.22
5
-- Server version	10.3.27-MariaDB-1:10.3.27+maria~focal
6
6
7
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
7
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
8
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
9
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
11
/*!40101 SET NAMES utf8mb4 */;
10
/*!40101 SET NAMES utf8mb4 */;
11
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
/*!40103 SET TIME_ZONE='+00:00' */;
12
/*!40103 SET TIME_ZONE='+00:00' */;
13
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
13
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
14
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
Lines 16-4696 Link Here
16
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
16
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
17
18
--
18
--
19
-- Table structure for table `auth_header`
19
-- Table structure for table `account_credit_types`
20
--
20
--
21
21
22
DROP TABLE IF EXISTS `auth_header`;
22
DROP TABLE IF EXISTS `account_credit_types`;
23
CREATE TABLE `auth_header` (
23
/*!40101 SET @saved_cs_client     = @@character_set_client */;
24
  `authid` bigint(20) unsigned NOT NULL auto_increment,
24
/*!40101 SET character_set_client = utf8 */;
25
  `authtypecode` varchar(10) NOT NULL default '',
25
CREATE TABLE `account_credit_types` (
26
  `datecreated` date default NULL,
26
  `code` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
27
  `modification_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
27
  `description` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
28
  `origincode` varchar(20) default NULL,
28
  `can_be_added_manually` tinyint(4) NOT NULL DEFAULT 1,
29
  `authtrees` LONGTEXT,
29
  `credit_number_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is autogeneration of credit number enabled for this credit type',
30
  `marc` blob,
30
  `is_system` tinyint(1) NOT NULL DEFAULT 0,
31
  `linkid` bigint(20) default NULL,
31
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'boolean flag to denote if this till is archived or not',
32
  `marcxml` LONGTEXT NOT NULL,
32
  PRIMARY KEY (`code`)
33
  PRIMARY KEY  (`authid`),
34
  KEY `origincode` (`origincode`)
35
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
33
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
34
/*!40101 SET character_set_client = @saved_cs_client */;
36
35
37
--
36
--
38
-- Table structure for table `auth_types`
37
-- Table structure for table `account_credit_types_branches`
39
--
38
--
40
39
41
DROP TABLE IF EXISTS `auth_types`;
40
DROP TABLE IF EXISTS `account_credit_types_branches`;
42
CREATE TABLE `auth_types` (
41
/*!40101 SET @saved_cs_client     = @@character_set_client */;
43
  `authtypecode` varchar(10) NOT NULL default '',
42
/*!40101 SET character_set_client = utf8 */;
44
  `authtypetext` varchar(255) NOT NULL default '',
43
CREATE TABLE `account_credit_types_branches` (
45
  `auth_tag_to_report` varchar(3) NOT NULL default '',
44
  `credit_type_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
46
  `summary` LONGTEXT NOT NULL,
45
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
47
  PRIMARY KEY  (`authtypecode`)
46
  KEY `credit_type_code` (`credit_type_code`),
47
  KEY `branchcode` (`branchcode`),
48
  CONSTRAINT `account_credit_types_branches_ibfk_1` FOREIGN KEY (`credit_type_code`) REFERENCES `account_credit_types` (`code`) ON DELETE CASCADE,
49
  CONSTRAINT `account_credit_types_branches_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
48
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
50
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
51
/*!40101 SET character_set_client = @saved_cs_client */;
49
52
50
--
53
--
51
-- Table structure for table `auth_subfield_structure`
54
-- Table structure for table `account_debit_types`
52
--
55
--
53
56
54
DROP TABLE IF EXISTS `auth_subfield_structure`;
57
DROP TABLE IF EXISTS `account_debit_types`;
55
CREATE TABLE `auth_subfield_structure` (
58
/*!40101 SET @saved_cs_client     = @@character_set_client */;
56
  `authtypecode` varchar(10) NOT NULL default '',
59
/*!40101 SET character_set_client = utf8 */;
57
  `tagfield` varchar(3) NOT NULL default '',
60
CREATE TABLE `account_debit_types` (
58
  `tagsubfield` varchar(1) NOT NULL default '',
61
  `code` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
59
  `liblibrarian` varchar(255) NOT NULL default '',
62
  `description` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
60
  `libopac` varchar(255) NOT NULL default '',
63
  `can_be_invoiced` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'boolean flag to denote if this debit type is available for manual invoicing',
61
  `repeatable` tinyint(4) NOT NULL default 0,
64
  `can_be_sold` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'boolean flag to denote if this debit type is available at point of sale',
62
  `mandatory` tinyint(4) NOT NULL default 0,
65
  `default_amount` decimal(28,6) DEFAULT NULL,
63
  `tab` tinyint(1) default NULL,
66
  `is_system` tinyint(1) NOT NULL DEFAULT 0,
64
  `authorised_value` varchar(10) default NULL,
67
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'boolean flag to denote if this till is archived or not',
65
  `value_builder` varchar(80) default NULL,
68
  PRIMARY KEY (`code`)
66
  `seealso` varchar(255) default NULL,
67
  `isurl` tinyint(1) default NULL,
68
  `hidden` tinyint(3) NOT NULL default 0,
69
  `linkid` tinyint(1) NOT NULL default 0,
70
  `kohafield` varchar(45) NULL default '',
71
  `frameworkcode` varchar(10) NOT NULL default '',
72
  `defaultvalue` MEDIUMTEXT,
73
  PRIMARY KEY  (`authtypecode`,`tagfield`,`tagsubfield`),
74
  KEY `tab` (`authtypecode`,`tab`),
75
  CONSTRAINT `auth_subfield_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
76
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
69
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
70
/*!40101 SET character_set_client = @saved_cs_client */;
77
71
78
--
72
--
79
-- Table structure for table `auth_tag_structure`
73
-- Table structure for table `account_debit_types_branches`
80
--
74
--
81
75
82
DROP TABLE IF EXISTS `auth_tag_structure`;
76
DROP TABLE IF EXISTS `account_debit_types_branches`;
83
CREATE TABLE `auth_tag_structure` (
77
/*!40101 SET @saved_cs_client     = @@character_set_client */;
84
  `authtypecode` varchar(10) NOT NULL default '',
78
/*!40101 SET character_set_client = utf8 */;
85
  `tagfield` varchar(3) NOT NULL default '',
79
CREATE TABLE `account_debit_types_branches` (
86
  `liblibrarian` varchar(255) NOT NULL default '',
80
  `debit_type_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
87
  `libopac` varchar(255) NOT NULL default '',
81
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
88
  `repeatable` tinyint(4) NOT NULL default 0,
82
  KEY `debit_type_code` (`debit_type_code`),
89
  `mandatory` tinyint(4) NOT NULL default 0,
83
  KEY `branchcode` (`branchcode`),
90
  `authorised_value` varchar(10) default NULL,
84
  CONSTRAINT `account_debit_types_branches_ibfk_1` FOREIGN KEY (`debit_type_code`) REFERENCES `account_debit_types` (`code`) ON DELETE CASCADE,
91
  PRIMARY KEY  (`authtypecode`,`tagfield`),
85
  CONSTRAINT `account_debit_types_branches_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
92
  CONSTRAINT `auth_tag_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
93
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
86
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
94
87
/*!40101 SET character_set_client = @saved_cs_client */;
95
88
96
--
89
--
97
-- Table structure for table `authorised_value_categories`
90
-- Table structure for table `account_offset_types`
98
--
91
--
99
92
100
DROP TABLE IF EXISTS `authorised_value_categories`;
93
DROP TABLE IF EXISTS `account_offset_types`;
101
CREATE TABLE `authorised_value_categories` (
94
/*!40101 SET @saved_cs_client     = @@character_set_client */;
102
  `category_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
95
/*!40101 SET character_set_client = utf8 */;
103
  `is_system` tinyint(1) default 0,
96
CREATE TABLE `account_offset_types` (
104
  PRIMARY KEY (`category_name`)
97
  `type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The type of offset this is',
98
  PRIMARY KEY (`type`)
105
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
99
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
100
/*!40101 SET character_set_client = @saved_cs_client */;
106
101
107
--
102
--
108
-- Table structure for table `authorised_values`
103
-- Table structure for table `account_offsets`
109
--
104
--
110
105
111
DROP TABLE IF EXISTS `authorised_values`;
106
DROP TABLE IF EXISTS `account_offsets`;
112
CREATE TABLE `authorised_values` ( -- stores values for authorized values categories and values
107
/*!40101 SET @saved_cs_client     = @@character_set_client */;
113
  `id` int(11) NOT NULL auto_increment COMMENT "unique key, used to identify the authorized value",
108
/*!40101 SET character_set_client = utf8 */;
114
  `category` varchar(32) NOT NULL default '' COMMENT "key used to identify the authorized value category",
109
CREATE TABLE `account_offsets` (
115
  `authorised_value` varchar(80) NOT NULL default '' COMMENT "code use to identify the authorized value",
110
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for each offset',
116
  `lib` varchar(200) default NULL COMMENT "authorized value description as printed in the staff interface",
111
  `credit_id` int(11) DEFAULT NULL COMMENT 'The id of the accountline the increased the patron''s balance',
117
  `lib_opac` varchar(200) default NULL COMMENT "authorized value description as printed in the OPAC",
112
  `debit_id` int(11) DEFAULT NULL COMMENT 'The id of the accountline that decreased the patron''s balance',
118
  `imageurl` varchar(200) default NULL COMMENT "authorized value URL",
113
  `type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The type of offset this is',
119
  PRIMARY KEY  (`id`),
114
  `amount` decimal(26,6) NOT NULL COMMENT 'The amount of the change',
120
  KEY `name` (`category`),
115
  `created_on` timestamp NOT NULL DEFAULT current_timestamp(),
121
  KEY `lib` (`lib` (191)),
116
  PRIMARY KEY (`id`),
122
  KEY `auth_value_idx` (`authorised_value`),
117
  KEY `account_offsets_ibfk_p` (`credit_id`),
123
  CONSTRAINT `av_uniq` UNIQUE (`category`,`authorised_value`),
118
  KEY `account_offsets_ibfk_f` (`debit_id`),
124
  CONSTRAINT `authorised_values_authorised_values_category` FOREIGN KEY (`category`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE CASCADE ON UPDATE CASCADE
119
  KEY `account_offsets_ibfk_t` (`type`),
120
  CONSTRAINT `account_offsets_ibfk_f` FOREIGN KEY (`debit_id`) REFERENCES `accountlines` (`accountlines_id`) ON DELETE CASCADE ON UPDATE CASCADE,
121
  CONSTRAINT `account_offsets_ibfk_p` FOREIGN KEY (`credit_id`) REFERENCES `accountlines` (`accountlines_id`) ON DELETE CASCADE ON UPDATE CASCADE,
122
  CONSTRAINT `account_offsets_ibfk_t` FOREIGN KEY (`type`) REFERENCES `account_offset_types` (`type`) ON DELETE CASCADE ON UPDATE CASCADE
125
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
123
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
124
/*!40101 SET character_set_client = @saved_cs_client */;
126
125
127
--
126
--
128
-- Table structure for table `biblio`
127
-- Table structure for table `accountlines`
129
--
128
--
130
129
131
DROP TABLE IF EXISTS `biblio`;
130
DROP TABLE IF EXISTS `accountlines`;
132
CREATE TABLE `biblio` ( -- table that stores bibliographic information
131
/*!40101 SET @saved_cs_client     = @@character_set_client */;
133
  `biblionumber` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned to each bibliographic record",
132
/*!40101 SET character_set_client = utf8 */;
134
  `frameworkcode` varchar(4) NOT NULL default '' COMMENT "foreign key from the biblio_framework table to identify which framework was used in cataloging this record",
133
CREATE TABLE `accountlines` (
135
  `author` LONGTEXT COMMENT "statement of responsibility from MARC record (100$a in MARC21)",
134
  `accountlines_id` int(11) NOT NULL AUTO_INCREMENT,
136
  `title` LONGTEXT COMMENT "title (without the subtitle) from the MARC record (245$a in MARC21)",
135
  `issue_id` int(11) DEFAULT NULL,
137
  `medium` LONGTEXT COMMENT "medium from the MARC record (245$h in MARC21)",
136
  `borrowernumber` int(11) DEFAULT NULL,
138
  `subtitle` LONGTEXT COMMENT "remainder of the title from the MARC record (245$b in MARC21)",
137
  `itemnumber` int(11) DEFAULT NULL,
139
  `part_number` LONGTEXT COMMENT "part number from the MARC record (245$n in MARC21)",
138
  `date` timestamp NULL DEFAULT NULL,
140
  `part_name` LONGTEXT COMMENT "part name from the MARC record (245$p in MARC21)",
139
  `amount` decimal(28,6) DEFAULT NULL,
141
  `unititle` LONGTEXT COMMENT "uniform title (without the subtitle) from the MARC record (240$a in MARC21)",
140
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
142
  `notes` LONGTEXT COMMENT "values from the general notes field in the MARC record (500$a in MARC21) split by bar (|)",
141
  `credit_type_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
143
  `serial` tinyint(1) default NULL COMMENT "Boolean indicating whether biblio is for a serial",
142
  `debit_type_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
144
  `seriestitle` LONGTEXT,
143
  `credit_number` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'autogenerated number for credits',
145
  `copyrightdate` smallint(6) default NULL COMMENT "publication or copyright date from the MARC record",
144
  `status` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
146
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time this record was last touched",
145
  `payment_type` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value PAYMENT_TYPE',
147
  `datecreated` DATE NOT NULL COMMENT "the date this record was added to Koha",
146
  `amountoutstanding` decimal(28,6) DEFAULT NULL,
148
  `abstract` LONGTEXT COMMENT "summary from the MARC record (520$a in MARC21)",
147
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
149
  PRIMARY KEY  (`biblionumber`),
148
  `note` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
150
  KEY `blbnoidx` (`biblionumber`)
149
  `manager_id` int(11) DEFAULT NULL,
150
  `register_id` int(11) DEFAULT NULL,
151
  `interface` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
152
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the branchcode of the library where a payment was made, a manual invoice created, etc.',
153
  PRIMARY KEY (`accountlines_id`),
154
  KEY `acctsborridx` (`borrowernumber`),
155
  KEY `timeidx` (`timestamp`),
156
  KEY `credit_type_code` (`credit_type_code`),
157
  KEY `debit_type_code` (`debit_type_code`),
158
  KEY `itemnumber` (`itemnumber`),
159
  KEY `branchcode` (`branchcode`),
160
  KEY `manager_id` (`manager_id`),
161
  KEY `accountlines_ibfk_registers` (`register_id`),
162
  CONSTRAINT `accountlines_ibfk_borrowers` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
163
  CONSTRAINT `accountlines_ibfk_borrowers_2` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
164
  CONSTRAINT `accountlines_ibfk_branches` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE,
165
  CONSTRAINT `accountlines_ibfk_credit_type` FOREIGN KEY (`credit_type_code`) REFERENCES `account_credit_types` (`code`) ON UPDATE CASCADE,
166
  CONSTRAINT `accountlines_ibfk_debit_type` FOREIGN KEY (`debit_type_code`) REFERENCES `account_debit_types` (`code`) ON UPDATE CASCADE,
167
  CONSTRAINT `accountlines_ibfk_items` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE CASCADE,
168
  CONSTRAINT `accountlines_ibfk_registers` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
151
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
169
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
170
/*!40101 SET character_set_client = @saved_cs_client */;
152
171
153
--
172
--
154
-- Table structure for table `biblio_framework`
173
-- Table structure for table `action_logs`
155
--
174
--
156
175
157
DROP TABLE IF EXISTS `biblio_framework`;
176
DROP TABLE IF EXISTS `action_logs`;
158
CREATE TABLE `biblio_framework` ( -- information about MARC frameworks
177
/*!40101 SET @saved_cs_client     = @@character_set_client */;
159
  `frameworkcode` varchar(4) NOT NULL default '' COMMENT "the unique code assigned to the framework",
178
/*!40101 SET character_set_client = utf8 */;
160
  `frameworktext` varchar(255) NOT NULL default '' COMMENT "the description/name given to the framework",
179
CREATE TABLE `action_logs` (
161
  PRIMARY KEY  (`frameworkcode`)
180
  `action_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for each action',
162
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
181
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'the date and time the action took place',
182
  `user` int(11) NOT NULL DEFAULT 0 COMMENT 'the staff member who performed the action (borrowers.borrowernumber)',
183
  `module` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the module this action was taken against',
184
  `action` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the action (includes things like DELETED, ADDED, MODIFY, etc)',
185
  `object` int(11) DEFAULT NULL COMMENT 'the object that the action was taken against (could be a borrowernumber, itemnumber, etc)',
186
  `info` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'information about the action (usually includes SQL statement)',
187
  `interface` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the context this action was taken in',
188
  PRIMARY KEY (`action_id`),
189
  KEY `timestamp_idx` (`timestamp`),
190
  KEY `user_idx` (`user`),
191
  KEY `module_idx` (`module`(255)),
192
  KEY `action_idx` (`action`(255)),
193
  KEY `object_idx` (`object`),
194
  KEY `info_idx` (`info`(255)),
195
  KEY `interface` (`interface`)
196
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
197
/*!40101 SET character_set_client = @saved_cs_client */;
163
198
164
--
199
--
165
-- Table structure for table `biblioitems`
200
-- Table structure for table `additional_field_values`
166
--
201
--
167
202
168
DROP TABLE IF EXISTS `biblioitems`;
203
DROP TABLE IF EXISTS `additional_field_values`;
169
CREATE TABLE `biblioitems` ( -- information related to bibliographic records in Koha
204
/*!40101 SET @saved_cs_client     = @@character_set_client */;
170
  `biblioitemnumber` int(11) NOT NULL auto_increment COMMENT "primary key, unique identifier assigned by Koha",
205
/*!40101 SET character_set_client = utf8 */;
171
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key linking this table to the biblio table",
206
CREATE TABLE `additional_field_values` (
172
  `volume` LONGTEXT,
207
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key identifier',
173
  `number` LONGTEXT,
208
  `field_id` int(11) NOT NULL COMMENT 'foreign key references additional_fields(id)',
174
  `itemtype` varchar(10) default NULL COMMENT "biblio level item type (MARC21 942$c)",
209
  `record_id` int(11) NOT NULL COMMENT 'record_id',
175
  `isbn` LONGTEXT COMMENT "ISBN (MARC21 020$a)",
210
  `value` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'value for this field',
176
  `issn` LONGTEXT COMMENT "ISSN (MARC21 022$a)",
211
  PRIMARY KEY (`id`),
177
  `ean` LONGTEXT default NULL,
212
  UNIQUE KEY `field_record` (`field_id`,`record_id`),
178
  `publicationyear` MEDIUMTEXT,
213
  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
179
  `publishercode` varchar(255) default NULL COMMENT "publisher (MARC21 260$b)",
180
  `volumedate` date default NULL,
181
  `volumedesc` MEDIUMTEXT COMMENT "volume information (MARC21 362$a)",
182
  `collectiontitle` LONGTEXT default NULL,
183
  `collectionissn` MEDIUMTEXT default NULL,
184
  `collectionvolume` LONGTEXT default NULL,
185
  `editionstatement` MEDIUMTEXT default NULL,
186
  `editionresponsibility` MEDIUMTEXT default NULL,
187
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
188
  `illus` varchar(255) default NULL COMMENT "illustrations (MARC21 300$b)",
189
  `pages` varchar(255) default NULL COMMENT "number of pages (MARC21 300$c)",
190
  `notes` LONGTEXT,
191
  `size` varchar(255) default NULL COMMENT "material size (MARC21 300$c)",
192
  `place` varchar(255) default NULL COMMENT "publication place (MARC21 260$a)",
193
  `lccn` varchar(25) default NULL COMMENT "library of congress control number (MARC21 010$a)",
194
  `url` MEDIUMTEXT default NULL COMMENT "url (MARC21 856$u)",
195
  `cn_source` varchar(10) default NULL COMMENT "classification source (MARC21 942$2)",
196
  `cn_class` varchar(30) default NULL,
197
  `cn_item` varchar(10) default NULL,
198
  `cn_suffix` varchar(10) default NULL,
199
  `cn_sort` varchar(255) default NULL COMMENT "normalized version of the call number used for sorting",
200
  `agerestriction` varchar(255) default NULL COMMENT "target audience/age restriction from the bib record (MARC21 521$a)",
201
  `totalissues` int(10),
202
  PRIMARY KEY  (`biblioitemnumber`),
203
  KEY `bibinoidx` (`biblioitemnumber`),
204
  KEY `bibnoidx` (`biblionumber`),
205
  KEY `itemtype_idx` (`itemtype`),
206
  KEY `isbn` (`isbn`(255)),
207
  KEY `issn` (`issn`(255)),
208
  KEY `ean` (`ean`(255)),
209
  KEY `publishercode` (`publishercode` (191)),
210
  KEY `timestamp` (`timestamp`),
211
  CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
212
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
214
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
215
/*!40101 SET character_set_client = @saved_cs_client */;
213
216
214
--
217
--
215
-- Table structure for table `borrower_attribute_types`
218
-- Table structure for table `additional_fields`
216
--
219
--
217
220
218
DROP TABLE IF EXISTS `borrower_attribute_types`;
221
DROP TABLE IF EXISTS `additional_fields`;
219
CREATE TABLE `borrower_attribute_types` ( -- definitions for custom patron fields known as extended patron attributes
222
/*!40101 SET @saved_cs_client     = @@character_set_client */;
220
  `code` varchar(10) NOT NULL COMMENT "unique key used to identify each custom field",
223
/*!40101 SET character_set_client = utf8 */;
221
  `description` varchar(255) NOT NULL COMMENT "description for each custom field",
224
CREATE TABLE `additional_fields` (
222
  `repeatable` tinyint(1) NOT NULL default 0 COMMENT "defines whether one patron/borrower can have multiple values for this custom field  (1 for yes, 0 for no)",
225
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key identifier',
223
  `unique_id` tinyint(1) NOT NULL default 0 COMMENT "defines if this value needs to be unique (1 for yes, 0 for no)",
226
  `tablename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'tablename of the new field',
224
  `opac_display` tinyint(1) NOT NULL default 0 COMMENT "defines if this field is visible to patrons on their account in the OPAC (1 for yes, 0 for no)",
227
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'name of the field',
225
  `opac_editable` tinyint(1) NOT NULL default 0 COMMENT "defines if this field is editable by patrons on their account in the OPAC (1 for yes, 0 for no)",
228
  `authorised_value_category` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'is an authorised value category',
226
  `staff_searchable` tinyint(1) NOT NULL default 0 COMMENT "defines if this field is searchable via the patron search in the staff interface (1 for yes, 0 for no)",
229
  `marcfield` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'contains the marc field to copied into the record',
227
  `authorised_value_category` varchar(32) default NULL COMMENT "foreign key from authorised_values that links this custom field to an authorized value category",
230
  `searchable` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'is the field searchable?',
228
  `display_checkout` tinyint(1) NOT NULL default 0 COMMENT "defines if this field displays in checkout screens",
231
  PRIMARY KEY (`id`),
229
  `category_code` VARCHAR(10) NULL DEFAULT NULL COMMENT "defines a category for an attribute_type",
232
  UNIQUE KEY `fields_uniq` (`tablename`(191),`name`(191))
230
  `class` VARCHAR(255) NOT NULL DEFAULT '' COMMENT "defines a class for an attribute_type",
231
  `keep_for_pseudonymization` tinyint(1) NOT NULL default 0 COMMENT "defines if this field is copied to anonymized_borrower_attributes (1 for yes, 0 for no)",
232
  `mandatory` tinyint(1) NOT NULL DEFAULT 0 COMMENT "defines if the attribute is mandatory or not",
233
  PRIMARY KEY  (`code`),
234
  KEY `auth_val_cat_idx` (`authorised_value_category`)
235
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
233
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
234
/*!40101 SET character_set_client = @saved_cs_client */;
236
235
237
--
236
--
238
-- Table structure for table `borrower_password_recovery`
237
-- Table structure for table `advanced_editor_macros`
239
--
238
--
240
239
241
DROP TABLE IF EXISTS `borrower_password_recovery`;
240
DROP TABLE IF EXISTS `advanced_editor_macros`;
242
CREATE TABLE IF NOT EXISTS `borrower_password_recovery` ( -- holds information about password recovery attempts
241
/*!40101 SET @saved_cs_client     = @@character_set_client */;
243
  `borrowernumber` int(11) NOT NULL COMMENT "the user asking a password recovery",
242
/*!40101 SET character_set_client = utf8 */;
244
  `uuid` varchar(128) NOT NULL COMMENT "a unique string to identify a password recovery attempt",
243
CREATE TABLE `advanced_editor_macros` (
245
  `valid_until` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "a time limit on the password recovery attempt",
244
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique ID of the macro',
246
  PRIMARY KEY (`borrowernumber`),
245
  `name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Name of the macro',
247
  KEY borrowernumber (borrowernumber)
246
  `macro` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'The macro code itself',
247
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'ID of the borrower who created this macro',
248
  `shared` tinyint(1) DEFAULT 0 COMMENT 'Bit to define if shared or private macro',
249
  PRIMARY KEY (`id`),
250
  KEY `borrower_macro_fk` (`borrowernumber`),
251
  CONSTRAINT `borrower_macro_fk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
248
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
252
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
253
/*!40101 SET character_set_client = @saved_cs_client */;
249
254
250
--
255
--
251
-- Table structure for table `branches`
256
-- Table structure for table `alert`
252
--
257
--
253
258
254
DROP TABLE IF EXISTS `branches`;
259
DROP TABLE IF EXISTS `alert`;
255
CREATE TABLE `branches` ( -- information about your libraries or branches are stored here
260
/*!40101 SET @saved_cs_client     = @@character_set_client */;
256
  `branchcode` varchar(10) NOT NULL default '' COMMENT "a unique key assigned to each branch",
261
/*!40101 SET character_set_client = utf8 */;
257
  `branchname` LONGTEXT NOT NULL COMMENT "the name of your library or branch",
262
CREATE TABLE `alert` (
258
  `branchaddress1` LONGTEXT COMMENT "the first address line of for your library or branch",
263
  `alertid` int(11) NOT NULL AUTO_INCREMENT,
259
  `branchaddress2` LONGTEXT COMMENT "the second address line of for your library or branch",
264
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
260
  `branchaddress3` LONGTEXT COMMENT "the third address line of for your library or branch",
265
  `type` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
261
  `branchzip` varchar(25) default NULL COMMENT "the zip or postal code for your library or branch",
266
  `externalid` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
262
  `branchcity` LONGTEXT COMMENT "the city or province for your library or branch",
267
  PRIMARY KEY (`alertid`),
263
  `branchstate` LONGTEXT COMMENT "the state for your library or branch",
268
  KEY `borrowernumber` (`borrowernumber`),
264
  `branchcountry` MEDIUMTEXT COMMENT "the county for your library or branch",
269
  KEY `type` (`type`,`externalid`),
265
  `branchphone` LONGTEXT COMMENT "the primary phone for your library or branch",
270
  CONSTRAINT `alert_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
266
  `branchfax` LONGTEXT COMMENT "the fax number for your library or branch",
267
  `branchemail` LONGTEXT COMMENT "the primary email address for your library or branch",
268
  `branchillemail` LONGTEXT COMMENT "the ILL staff email address for your library or branch",
269
  `branchreplyto` LONGTEXT COMMENT "the email to be used as a Reply-To",
270
  `branchreturnpath` LONGTEXT COMMENT "the email to be used as Return-Path",
271
  `branchurl` LONGTEXT COMMENT "the URL for your library or branch's website",
272
  `issuing` tinyint(4) default NULL COMMENT "unused in Koha",
273
  `branchip` varchar(15) default NULL COMMENT "the IP address for your library or branch",
274
  `branchnotes` LONGTEXT COMMENT "notes related to your library or branch",
275
  opac_info MEDIUMTEXT COMMENT "HTML that displays in OPAC",
276
  `geolocation` VARCHAR(255) default NULL COMMENT "geolocation of your library",
277
  `marcorgcode` VARCHAR(16) default NULL COMMENT "MARC Organization Code, see http://www.loc.gov/marc/organizations/orgshome.html, when empty defaults to syspref MARCOrgCode",
278
  `pickup_location` tinyint(1) NOT NULL default 1 COMMENT "the ability to act as a pickup location",
279
  PRIMARY KEY (`branchcode`)
280
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
271
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
272
/*!40101 SET character_set_client = @saved_cs_client */;
281
273
282
--
274
--
283
-- Table structure for table `branches_overdrive`
275
-- Table structure for table `api_keys`
284
--
276
--
285
277
286
DROP TABLE IF EXISTS `branches_overdrive`;
278
DROP TABLE IF EXISTS `api_keys`;
287
CREATE TABLE IF NOT EXISTS branches_overdrive (
279
/*!40101 SET @saved_cs_client     = @@character_set_client */;
288
  `branchcode` VARCHAR( 10 ) NOT NULL ,
280
/*!40101 SET character_set_client = utf8 */;
289
  `authname` VARCHAR( 255 ) NOT NULL ,
281
CREATE TABLE `api_keys` (
290
  PRIMARY KEY (`branchcode`) ,
282
  `client_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API client ID',
291
  CONSTRAINT `branches_overdrive_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
283
  `secret` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API client secret used for API authentication',
292
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
284
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API client description',
285
  `patron_id` int(11) NOT NULL COMMENT 'Foreign key to the borrowers table',
286
  `active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '0 means this API key is revoked',
287
  PRIMARY KEY (`client_id`),
288
  UNIQUE KEY `secret` (`secret`),
289
  KEY `patron_id` (`patron_id`),
290
  CONSTRAINT `api_keys_fk_patron_id` FOREIGN KEY (`patron_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
291
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
292
/*!40101 SET character_set_client = @saved_cs_client */;
293
293
294
--
294
--
295
-- Table structure for table `browser`
295
-- Table structure for table `aqbasket`
296
--
296
--
297
DROP TABLE IF EXISTS `browser`;
297
298
CREATE TABLE `browser` (
298
DROP TABLE IF EXISTS `aqbasket`;
299
  `level` int(11) NOT NULL,
299
/*!40101 SET @saved_cs_client     = @@character_set_client */;
300
  `classification` varchar(20) NOT NULL,
300
/*!40101 SET character_set_client = utf8 */;
301
  `description` varchar(255) NOT NULL,
301
CREATE TABLE `aqbasket` (
302
  `number` bigint(20) NOT NULL,
302
  `basketno` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key, Koha defined number',
303
  `endnode` tinyint(4) NOT NULL
303
  `basketname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name given to the basket at creation',
304
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
304
  `note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the internal note added at basket creation',
305
  `booksellernote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the vendor note added at basket creation',
306
  `contractnumber` int(11) DEFAULT NULL COMMENT 'links this basket to the aqcontract table (aqcontract.contractnumber)',
307
  `creationdate` date DEFAULT NULL COMMENT 'the date the basket was created',
308
  `closedate` date DEFAULT NULL COMMENT 'the date the basket was closed',
309
  `booksellerid` int(11) NOT NULL DEFAULT 1 COMMENT 'the Koha assigned ID for the vendor (aqbooksellers.id)',
310
  `authorisedby` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the borrowernumber of the person who created the basket',
311
  `booksellerinvoicenumber` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'appears to always be NULL',
312
  `basketgroupid` int(11) DEFAULT NULL COMMENT 'links this basket to its group (aqbasketgroups.id)',
313
  `deliveryplace` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'basket delivery place',
314
  `billingplace` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'basket billing place',
315
  `branch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'basket branch',
316
  `is_standing` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'orders in this basket are standing',
317
  `create_items` enum('ordering','receiving','cataloguing') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'when items should be created for orders in this basket',
318
  PRIMARY KEY (`basketno`),
319
  KEY `booksellerid` (`booksellerid`),
320
  KEY `basketgroupid` (`basketgroupid`),
321
  KEY `contractnumber` (`contractnumber`),
322
  KEY `authorisedby` (`authorisedby`),
323
  KEY `aqbasket_ibfk_4` (`branch`),
324
  CONSTRAINT `aqbasket_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE,
325
  CONSTRAINT `aqbasket_ibfk_2` FOREIGN KEY (`contractnumber`) REFERENCES `aqcontract` (`contractnumber`),
326
  CONSTRAINT `aqbasket_ibfk_3` FOREIGN KEY (`basketgroupid`) REFERENCES `aqbasketgroups` (`id`) ON UPDATE CASCADE,
327
  CONSTRAINT `aqbasket_ibfk_4` FOREIGN KEY (`branch`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE
328
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
329
/*!40101 SET character_set_client = @saved_cs_client */;
305
330
306
--
331
--
307
-- Table structure for table `categories`
332
-- Table structure for table `aqbasketgroups`
308
--
333
--
309
334
310
DROP TABLE IF EXISTS `categories`;
335
DROP TABLE IF EXISTS `aqbasketgroups`;
311
CREATE TABLE `categories` ( -- this table shows information related to Koha patron categories
336
/*!40101 SET @saved_cs_client     = @@character_set_client */;
312
  `categorycode` varchar(10) NOT NULL default '' COMMENT "unique primary key used to idenfity the patron category",
337
/*!40101 SET character_set_client = utf8 */;
313
  `description` LONGTEXT COMMENT "description of the patron category",
338
CREATE TABLE `aqbasketgroups` (
314
  `enrolmentperiod` smallint(6) default NULL COMMENT "number of months the patron is enrolled for (will be NULL if enrolmentperioddate is set)",
339
  `id` int(11) NOT NULL AUTO_INCREMENT,
315
  `enrolmentperioddate` DATE NULL DEFAULT NULL COMMENT "date the patron is enrolled until (will be NULL if enrolmentperiod is set)",
340
  `name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
316
  `upperagelimit` smallint(6) default NULL COMMENT "age limit for the patron",
341
  `closed` tinyint(1) DEFAULT NULL,
317
  `dateofbirthrequired` tinyint(1) default NULL COMMENT "the minimum age required for the patron category",
342
  `booksellerid` int(11) NOT NULL,
318
  `finetype` varchar(30) default NULL COMMENT "unused in Koha",
343
  `deliveryplace` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
319
  `bulk` tinyint(1) default NULL,
344
  `freedeliveryplace` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
320
  `enrolmentfee` decimal(28,6) default NULL COMMENT "enrollment fee for the patron",
345
  `deliverycomment` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
321
  `overduenoticerequired` tinyint(1) default NULL COMMENT "are overdue notices sent to this patron category (1 for yes, 0 for no)",
346
  `billingplace` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
322
  `issuelimit` smallint(6) default NULL COMMENT "unused in Koha",
347
  PRIMARY KEY (`id`),
323
  `reservefee` decimal(28,6) default NULL COMMENT "cost to place holds",
348
  KEY `booksellerid` (`booksellerid`),
324
  `hidelostitems` tinyint(1) NOT NULL default '0' COMMENT "are lost items shown to this category (1 for yes, 0 for no)",
349
  CONSTRAINT `aqbasketgroups_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
325
  `category_type` varchar(1) NOT NULL default 'A' COMMENT "type of Koha patron (Adult, Child, Professional, Organizational, Statistical, Staff)",
326
  `BlockExpiredPatronOpacActions` tinyint(1) NOT NULL default '-1' COMMENT "wheither or not a patron of this category can renew books or place holds once their card has expired. 0 means they can, 1 means they cannot, -1 means use syspref BlockExpiredPatronOpacActions",
327
  `default_privacy` ENUM( 'default', 'never', 'forever' ) NOT NULL DEFAULT 'default' COMMENT "Default privacy setting for this patron category",
328
  `checkprevcheckout` varchar(7) NOT NULL default 'inherit' COMMENT "produce a warning for this patron category if this item has previously been checked out to this patron if 'yes', not if 'no', defer to syspref setting if 'inherit'.",
329
  `reset_password` TINYINT(1) NULL DEFAULT NULL COMMENT "if patrons of this category can do the password reset flow,",
330
  `change_password` TINYINT(1) NULL DEFAULT NULL COMMENT "if patrons of this category can change their passwords in the OAPC",
331
  `min_password_length` smallint(6) NULL DEFAULT NULL COMMENT "set minimum password length for patrons in this category",
332
  `require_strong_password` TINYINT(1) NULL DEFAULT NULL COMMENT "set required password strength for patrons in this category",
333
  `exclude_from_local_holds_priority` tinyint(1) default NULL COMMENT "Exclude patrons of this category from local holds priority",
334
  PRIMARY KEY  (`categorycode`),
335
  UNIQUE KEY `categorycode` (`categorycode`)
336
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
350
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
351
/*!40101 SET character_set_client = @saved_cs_client */;
337
352
338
--
353
--
339
-- Table: collections
354
-- Table structure for table `aqbasketusers`
340
--
355
--
341
DROP TABLE IF EXISTS collections;
342
CREATE TABLE collections (
343
  colId integer(11) NOT NULL auto_increment,
344
  colTitle varchar(100) NOT NULL DEFAULT '',
345
  colDesc MEDIUMTEXT NOT NULL,
346
  colBranchcode varchar(10) DEFAULT NULL COMMENT "'branchcode for branch where item should be held.'",
347
  PRIMARY KEY (colId)
348
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
349
356
350
--
357
DROP TABLE IF EXISTS `aqbasketusers`;
351
-- Constraints for table `collections`
358
/*!40101 SET @saved_cs_client     = @@character_set_client */;
352
--
359
/*!40101 SET character_set_client = utf8 */;
353
ALTER TABLE `collections`
360
CREATE TABLE `aqbasketusers` (
354
  ADD CONSTRAINT `collections_ibfk_1` FOREIGN KEY (`colBranchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE;
361
  `basketno` int(11) NOT NULL,
362
  `borrowernumber` int(11) NOT NULL,
363
  PRIMARY KEY (`basketno`,`borrowernumber`),
364
  KEY `aqbasketusers_ibfk_2` (`borrowernumber`),
365
  CONSTRAINT `aqbasketusers_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
366
  CONSTRAINT `aqbasketusers_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
367
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
368
/*!40101 SET character_set_client = @saved_cs_client */;
355
369
356
--
370
--
357
-- Table: collections_tracking
371
-- Table structure for table `aqbooksellers`
358
--
372
--
359
373
360
DROP TABLE IF EXISTS collections_tracking;
374
DROP TABLE IF EXISTS `aqbooksellers`;
361
CREATE TABLE collections_tracking (
375
/*!40101 SET @saved_cs_client     = @@character_set_client */;
362
  collections_tracking_id integer(11) NOT NULL auto_increment,
376
/*!40101 SET character_set_client = utf8 */;
363
  colId integer(11) NOT NULL DEFAULT 0 comment 'collections.colId',
377
CREATE TABLE `aqbooksellers` (
364
  itemnumber integer(11) NOT NULL DEFAULT 0 comment 'items.itemnumber',
378
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique identifier assigned by Koha',
365
  PRIMARY KEY (collections_tracking_id)
379
  `name` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'vendor name',
366
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
380
  `address1` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'first line of vendor physical address',
381
  `address2` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'second line of vendor physical address',
382
  `address3` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'third line of vendor physical address',
383
  `address4` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'fourth line of vendor physical address',
384
  `phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'vendor phone number',
385
  `accountnumber` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'vendor account number',
386
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'order notes',
387
  `postal` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'vendor postal address (all lines)',
388
  `url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'vendor web address',
389
  `active` tinyint(4) DEFAULT NULL COMMENT 'is this vendor active (1 for yes, 0 for no)',
390
  `listprice` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'currency code for list prices',
391
  `invoiceprice` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'currency code for invoice prices',
392
  `gstreg` tinyint(4) DEFAULT NULL COMMENT 'is your library charged tax (1 for yes, 0 for no)',
393
  `listincgst` tinyint(4) DEFAULT NULL COMMENT 'is tax included in list prices (1 for yes, 0 for no)',
394
  `invoiceincgst` tinyint(4) DEFAULT NULL COMMENT 'is tax included in invoice prices (1 for yes, 0 for no)',
395
  `tax_rate` decimal(6,4) DEFAULT NULL COMMENT 'the tax rate the library is charged',
396
  `discount` float(6,4) DEFAULT NULL COMMENT 'discount offered on all items ordered from this vendor',
397
  `fax` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'vendor fax number',
398
  `deliverytime` int(11) DEFAULT NULL COMMENT 'vendor delivery time',
399
  PRIMARY KEY (`id`),
400
  KEY `listprice` (`listprice`),
401
  KEY `invoiceprice` (`invoiceprice`),
402
  KEY `name` (`name`(255)),
403
  CONSTRAINT `aqbooksellers_ibfk_1` FOREIGN KEY (`listprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE,
404
  CONSTRAINT `aqbooksellers_ibfk_2` FOREIGN KEY (`invoiceprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE
405
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
406
/*!40101 SET character_set_client = @saved_cs_client */;
367
407
368
--
408
--
369
-- Table structure for table `cities`
409
-- Table structure for table `aqbudgetborrowers`
370
--
410
--
371
411
372
DROP TABLE IF EXISTS `cities`;
412
DROP TABLE IF EXISTS `aqbudgetborrowers`;
373
CREATE TABLE `cities` ( -- authorized values for cities/states/countries to choose when adding/editing a patron/borrower
413
/*!40101 SET @saved_cs_client     = @@character_set_client */;
374
  `cityid` int(11) NOT NULL auto_increment COMMENT "unique identifier added by Koha",
414
/*!40101 SET character_set_client = utf8 */;
375
  `city_name` varchar(100) NOT NULL default '' COMMENT "name of the city",
415
CREATE TABLE `aqbudgetborrowers` (
376
  `city_state` VARCHAR( 100 ) NULL DEFAULT NULL COMMENT "name of the state/province",
416
  `budget_id` int(11) NOT NULL,
377
  `city_country` VARCHAR( 100 ) NULL DEFAULT NULL COMMENT "name of the country",
417
  `borrowernumber` int(11) NOT NULL,
378
  `city_zipcode` varchar(20) default NULL COMMENT "zip or postal code",
418
  PRIMARY KEY (`budget_id`,`borrowernumber`),
379
  PRIMARY KEY  (`cityid`)
419
  KEY `aqbudgetborrowers_ibfk_2` (`borrowernumber`),
420
  CONSTRAINT `aqbudgetborrowers_ibfk_1` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE,
421
  CONSTRAINT `aqbudgetborrowers_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
380
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
422
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
423
/*!40101 SET character_set_client = @saved_cs_client */;
381
424
382
--
425
--
383
-- Table structure for table desks
426
-- Table structure for table `aqbudgetperiods`
384
--
427
--
385
428
386
DROP TABLE IF EXISTS desks;
429
DROP TABLE IF EXISTS `aqbudgetperiods`;
387
CREATE TABLE desks ( -- desks available in a library
430
/*!40101 SET @saved_cs_client     = @@character_set_client */;
388
  desk_id int(11) NOT NULL auto_increment COMMENT "unique identifier",
431
/*!40101 SET character_set_client = utf8 */;
389
  desk_name varchar(100) NOT NULL default '' COMMENT "name of the desk",
432
CREATE TABLE `aqbudgetperiods` (
390
  branchcode varchar(10) NOT NULL COMMENT "library the desk is located at",
433
  `budget_period_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique number assigned by Koha',
391
  PRIMARY KEY  (desk_id),
434
  `budget_period_startdate` date NOT NULL COMMENT 'date when the budget starts',
392
  KEY `fk_desks_branchcode` (branchcode),
435
  `budget_period_enddate` date NOT NULL COMMENT 'date when the budget ends',
393
  CONSTRAINT `fk_desks_branchcode` FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE
436
  `budget_period_active` tinyint(1) DEFAULT 0 COMMENT 'whether this budget is active or not (1 for yes, 0 for no)',
394
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
437
  `budget_period_description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'description assigned to this budget',
438
  `budget_period_total` decimal(28,6) DEFAULT NULL COMMENT 'total amount available in this budget',
439
  `budget_period_locked` tinyint(1) DEFAULT NULL COMMENT 'whether this budget is locked or not (1 for yes, 0 for no)',
440
  `sort1_authcat` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'statistical category for this budget',
441
  `sort2_authcat` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'second statistical category for this budget',
442
  PRIMARY KEY (`budget_period_id`)
443
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
444
/*!40101 SET character_set_client = @saved_cs_client */;
395
445
396
--
446
--
397
-- Table structure for table `class_sort_rules`
447
-- Table structure for table `aqbudgets`
398
--
448
--
399
449
400
DROP TABLE IF EXISTS `class_sort_rules`;
450
DROP TABLE IF EXISTS `aqbudgets`;
401
CREATE TABLE `class_sort_rules` (
451
/*!40101 SET @saved_cs_client     = @@character_set_client */;
402
  `class_sort_rule` varchar(10) NOT NULL default '',
452
/*!40101 SET character_set_client = utf8 */;
403
  `description` LONGTEXT,
453
CREATE TABLE `aqbudgets` (
404
  `sort_routine` varchar(30) NOT NULL default '',
454
  `budget_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique number assigned to each fund by Koha',
405
  PRIMARY KEY (`class_sort_rule`),
455
  `budget_parent_id` int(11) DEFAULT NULL COMMENT 'if this fund is a child of another this will include the parent id (aqbudgets.budget_id)',
406
  UNIQUE KEY `class_sort_rule_idx` (`class_sort_rule`)
456
  `budget_code` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'code assigned to the fund by the user',
407
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
457
  `budget_name` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name assigned to the fund by the user',
458
  `budget_branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'branch that this fund belongs to (branches.branchcode)',
459
  `budget_amount` decimal(28,6) DEFAULT 0.000000 COMMENT 'total amount for this fund',
460
  `budget_encumb` decimal(28,6) DEFAULT 0.000000 COMMENT 'budget warning at percentage',
461
  `budget_expend` decimal(28,6) DEFAULT 0.000000 COMMENT 'budget warning at amount',
462
  `budget_notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to this fund',
463
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this fund was last touched (created or modified)',
464
  `budget_period_id` int(11) DEFAULT NULL COMMENT 'id of the budget that this fund belongs to (aqbudgetperiods.budget_period_id)',
465
  `sort1_authcat` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'statistical category for this fund',
466
  `sort2_authcat` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'second statistical category for this fund',
467
  `budget_owner_id` int(11) DEFAULT NULL COMMENT 'borrowernumber of the person who owns this fund (borrowers.borrowernumber)',
468
  `budget_permission` int(1) DEFAULT 0 COMMENT 'level of permission for this fund (used only by the owner, only by the library, or anyone)',
469
  PRIMARY KEY (`budget_id`),
470
  KEY `budget_parent_id` (`budget_parent_id`),
471
  KEY `budget_code` (`budget_code`),
472
  KEY `budget_branchcode` (`budget_branchcode`),
473
  KEY `budget_period_id` (`budget_period_id`),
474
  KEY `budget_owner_id` (`budget_owner_id`),
475
  CONSTRAINT `aqbudgetperiods_ibfk_1` FOREIGN KEY (`budget_period_id`) REFERENCES `aqbudgetperiods` (`budget_period_id`) ON DELETE CASCADE ON UPDATE CASCADE
476
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
477
/*!40101 SET character_set_client = @saved_cs_client */;
408
478
409
--
479
--
410
-- Table structure for table `class_split_rules`
480
-- Table structure for table `aqbudgets_planning`
411
--
481
--
412
482
413
DROP TABLE IF EXISTS `class_split_rules`;
483
DROP TABLE IF EXISTS `aqbudgets_planning`;
414
484
/*!40101 SET @saved_cs_client     = @@character_set_client */;
415
CREATE TABLE class_split_rules (
485
/*!40101 SET character_set_client = utf8 */;
416
  class_split_rule varchar(10) NOT NULL default '',
486
CREATE TABLE `aqbudgets_planning` (
417
  description LONGTEXT,
487
  `plan_id` int(11) NOT NULL AUTO_INCREMENT,
418
  split_routine varchar(30) NOT NULL default '',
488
  `budget_id` int(11) NOT NULL,
419
  split_regex varchar(255) NOT NULL default '',
489
  `budget_period_id` int(11) NOT NULL,
420
  PRIMARY KEY (class_split_rule),
490
  `estimated_amount` decimal(28,6) DEFAULT NULL,
421
  UNIQUE KEY class_split_rule_idx (class_split_rule)
491
  `authcat` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
492
  `authvalue` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
493
  `display` tinyint(1) DEFAULT 1,
494
  PRIMARY KEY (`plan_id`),
495
  KEY `budget_period_id` (`budget_period_id`),
496
  KEY `aqbudgets_planning_ifbk_1` (`budget_id`),
497
  CONSTRAINT `aqbudgets_planning_ifbk_1` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE
422
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
498
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
499
/*!40101 SET character_set_client = @saved_cs_client */;
500
501
--
502
-- Table structure for table `aqcontacts`
503
--
504
505
DROP TABLE IF EXISTS `aqcontacts`;
506
/*!40101 SET @saved_cs_client     = @@character_set_client */;
507
/*!40101 SET character_set_client = utf8 */;
508
CREATE TABLE `aqcontacts` (
509
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique number assigned by Koha',
510
  `name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name of contact at vendor',
511
  `position` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contact person''s position',
512
  `phone` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contact''s phone number',
513
  `altphone` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contact''s alternate phone number',
514
  `fax` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contact''s fax number',
515
  `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contact''s email address',
516
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to the contact',
517
  `orderacquisition` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'should this contact receive acquisition orders',
518
  `claimacquisition` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'should this contact receive acquisitions claims',
519
  `claimissues` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'should this contact receive serial claims',
520
  `acqprimary` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'is this the primary contact for acquisitions messages',
521
  `serialsprimary` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'is this the primary contact for serials messages',
522
  `booksellerid` int(11) NOT NULL,
523
  PRIMARY KEY (`id`),
524
  KEY `booksellerid_aqcontacts_fk` (`booksellerid`),
525
  CONSTRAINT `booksellerid_aqcontacts_fk` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
526
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
527
/*!40101 SET character_set_client = @saved_cs_client */;
423
528
424
--
529
--
425
-- Table structure for table `class_sources`
530
-- Table structure for table `aqcontract`
426
--
531
--
427
532
428
DROP TABLE IF EXISTS `class_sources`;
533
DROP TABLE IF EXISTS `aqcontract`;
429
CREATE TABLE `class_sources` (
534
/*!40101 SET @saved_cs_client     = @@character_set_client */;
430
  `cn_source` varchar(10) NOT NULL default '',
535
/*!40101 SET character_set_client = utf8 */;
431
  `description` LONGTEXT,
536
CREATE TABLE `aqcontract` (
432
  `used` tinyint(4) NOT NULL default 0,
537
  `contractnumber` int(11) NOT NULL AUTO_INCREMENT,
433
  `class_sort_rule` varchar(10) NOT NULL default '',
538
  `contractstartdate` date DEFAULT NULL,
434
  `class_split_rule` varchar(10) NOT NULL default '',
539
  `contractenddate` date DEFAULT NULL,
435
  PRIMARY KEY (`cn_source`),
540
  `contractname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
436
  UNIQUE KEY `cn_source_idx` (`cn_source`),
541
  `contractdescription` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
437
  KEY `used_idx` (`used`),
542
  `booksellerid` int(11) NOT NULL,
438
  CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) REFERENCES `class_sort_rules` (`class_sort_rule`),
543
  PRIMARY KEY (`contractnumber`),
439
  CONSTRAINT `class_source_ibfk_2` FOREIGN KEY (`class_split_rule`) REFERENCES `class_split_rules` (`class_split_rule`)
544
  KEY `booksellerid_fk1` (`booksellerid`),
440
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
545
  CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
546
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
547
/*!40101 SET character_set_client = @saved_cs_client */;
548
549
--
550
-- Table structure for table `aqinvoice_adjustments`
551
--
552
553
DROP TABLE IF EXISTS `aqinvoice_adjustments`;
554
/*!40101 SET @saved_cs_client     = @@character_set_client */;
555
/*!40101 SET character_set_client = utf8 */;
556
CREATE TABLE `aqinvoice_adjustments` (
557
  `adjustment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key for adjustments',
558
  `invoiceid` int(11) NOT NULL COMMENT 'foreign key to link an adjustment to an invoice',
559
  `adjustment` decimal(28,6) DEFAULT NULL COMMENT 'amount of adjustment',
560
  `reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'reason for adjustment defined by authorised values in ADJ_REASON category',
561
  `note` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'text to explain adjustment',
562
  `budget_id` int(11) DEFAULT NULL COMMENT 'optional link to budget to apply adjustment to',
563
  `encumber_open` smallint(1) NOT NULL DEFAULT 1 COMMENT 'whether or not to encumber the funds when invoice is still open, 1 = yes, 0 = no',
564
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'timestamp  of last adjustment to adjustment',
565
  PRIMARY KEY (`adjustment_id`),
566
  KEY `aqinvoice_adjustments_fk_invoiceid` (`invoiceid`),
567
  KEY `aqinvoice_adjustments_fk_budget_id` (`budget_id`),
568
  CONSTRAINT `aqinvoice_adjustments_fk_budget_id` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE,
569
  CONSTRAINT `aqinvoice_adjustments_fk_invoiceid` FOREIGN KEY (`invoiceid`) REFERENCES `aqinvoices` (`invoiceid`) ON DELETE CASCADE ON UPDATE CASCADE
570
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
571
/*!40101 SET character_set_client = @saved_cs_client */;
572
573
--
574
-- Table structure for table `aqinvoices`
575
--
576
577
DROP TABLE IF EXISTS `aqinvoices`;
578
/*!40101 SET @saved_cs_client     = @@character_set_client */;
579
/*!40101 SET character_set_client = utf8 */;
580
CREATE TABLE `aqinvoices` (
581
  `invoiceid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID of the invoice, primary key',
582
  `invoicenumber` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Name of invoice',
583
  `booksellerid` int(11) NOT NULL COMMENT 'foreign key to aqbooksellers',
584
  `shipmentdate` date DEFAULT NULL COMMENT 'date of shipment',
585
  `billingdate` date DEFAULT NULL COMMENT 'date of billing',
586
  `closedate` date DEFAULT NULL COMMENT 'invoice close date, NULL means the invoice is open',
587
  `shipmentcost` decimal(28,6) DEFAULT NULL COMMENT 'shipment cost',
588
  `shipmentcost_budgetid` int(11) DEFAULT NULL COMMENT 'foreign key to aqbudgets, link the shipment cost to a budget',
589
  `message_id` int(11) DEFAULT NULL COMMENT 'foreign key to edifact invoice message',
590
  PRIMARY KEY (`invoiceid`),
591
  KEY `aqinvoices_fk_aqbooksellerid` (`booksellerid`),
592
  KEY `edifact_msg_fk` (`message_id`),
593
  KEY `aqinvoices_fk_shipmentcost_budgetid` (`shipmentcost_budgetid`),
594
  CONSTRAINT `aqinvoices_fk_aqbooksellerid` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
595
  CONSTRAINT `aqinvoices_fk_shipmentcost_budgetid` FOREIGN KEY (`shipmentcost_budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE,
596
  CONSTRAINT `edifact_msg_fk` FOREIGN KEY (`message_id`) REFERENCES `edifact_messages` (`id`) ON DELETE SET NULL
597
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
598
/*!40101 SET character_set_client = @saved_cs_client */;
441
599
442
--
600
--
443
-- Table structure for table `currency`
601
-- Table structure for table `aqorder_users`
444
--
602
--
445
603
446
DROP TABLE IF EXISTS `currency`;
604
DROP TABLE IF EXISTS `aqorder_users`;
447
CREATE TABLE `currency` (
605
/*!40101 SET @saved_cs_client     = @@character_set_client */;
448
  `currency` varchar(10) NOT NULL default '',
606
/*!40101 SET character_set_client = utf8 */;
449
  `symbol` varchar(5) default NULL,
607
CREATE TABLE `aqorder_users` (
450
  `isocode` varchar(5) default NULL,
608
  `ordernumber` int(11) NOT NULL COMMENT 'the order this patrons receive notifications from (aqorders.ordernumber)',
451
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
609
  `borrowernumber` int(11) NOT NULL COMMENT 'the borrowernumber for the patron receiving notifications for this order (borrowers.borrowernumber)',
452
  `rate` float(15,5) default NULL,
610
  PRIMARY KEY (`ordernumber`,`borrowernumber`),
453
  `active` tinyint(1) default NULL,
611
  KEY `aqorder_users_ibfk_2` (`borrowernumber`),
454
  `archived` tinyint(1) DEFAULT 0,
612
  CONSTRAINT `aqorder_users_ibfk_1` FOREIGN KEY (`ordernumber`) REFERENCES `aqorders` (`ordernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
455
  `p_sep_by_space` tinyint(1) DEFAULT 0,
613
  CONSTRAINT `aqorder_users_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
456
  PRIMARY KEY  (`currency`)
457
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
614
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
615
/*!40101 SET character_set_client = @saved_cs_client */;
458
616
459
--
617
--
460
-- Table structure for table `deletedbiblio`
618
-- Table structure for table `aqorders`
461
--
619
--
462
620
463
DROP TABLE IF EXISTS `deletedbiblio`;
621
DROP TABLE IF EXISTS `aqorders`;
464
CREATE TABLE `deletedbiblio` ( -- stores information about bibliographic records that have been deleted
622
/*!40101 SET @saved_cs_client     = @@character_set_client */;
465
  `biblionumber` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned to each bibliographic record",
623
/*!40101 SET character_set_client = utf8 */;
466
  `frameworkcode` varchar(4) NOT NULL default '' COMMENT "foriegn key from the biblio_framework table to identify which framework was used in cataloging this record",
624
CREATE TABLE `aqorders` (
467
  `author` LONGTEXT COMMENT "statement of responsibility from MARC record (100$a in MARC21)",
625
  `ordernumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique identifier assigned by Koha to each line',
468
  `title` LONGTEXT COMMENT "title (without the subtitle) from the MARC record (245$a in MARC21)",
626
  `biblionumber` int(11) DEFAULT NULL COMMENT 'links the order to the biblio being ordered (biblio.biblionumber)',
469
  `medium` LONGTEXT COMMENT "medium from the MARC record (245$h in MARC21)",
627
  `entrydate` date DEFAULT NULL COMMENT 'the date the bib was added to the basket',
470
  `subtitle` LONGTEXT COMMENT "remainder of the title from the MARC record (245$b in MARC21)",
628
  `quantity` smallint(6) DEFAULT NULL COMMENT 'the quantity ordered',
471
  `part_number` LONGTEXT COMMENT "part number from the MARC record (245$n in MARC21)",
629
  `currency` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the currency used for the purchase',
472
  `part_name` LONGTEXT COMMENT "part name from the MARC record (245$p in MARC21)",
630
  `listprice` decimal(28,6) DEFAULT NULL COMMENT 'the vendor price for this line item',
473
  `unititle` LONGTEXT COMMENT "uniform title (without the subtitle) from the MARC record (240$a in MARC21)",
631
  `datereceived` date DEFAULT NULL COMMENT 'the date this order was received',
474
  `notes` LONGTEXT COMMENT "values from the general notes field in the MARC record (500$a in MARC21) split by bar (|)",
632
  `invoiceid` int(11) DEFAULT NULL COMMENT 'id of invoice',
475
  `serial` tinyint(1) default NULL COMMENT "Boolean indicating whether biblio is for a serial",
633
  `freight` decimal(28,6) DEFAULT NULL COMMENT 'shipping costs (not used)',
476
  `seriestitle` LONGTEXT,
634
  `unitprice` decimal(28,6) DEFAULT NULL COMMENT 'the actual cost entered when receiving this line item',
477
  `copyrightdate` smallint(6) default NULL COMMENT "publication or copyright date from the MARC record",
635
  `unitprice_tax_excluded` decimal(28,6) DEFAULT NULL COMMENT 'the unit price excluding tax (on receiving)',
478
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time this record was last touched",
636
  `unitprice_tax_included` decimal(28,6) DEFAULT NULL COMMENT 'the unit price including tax (on receiving)',
479
  `datecreated` DATE NOT NULL COMMENT "the date this record was added to Koha",
637
  `quantityreceived` smallint(6) NOT NULL DEFAULT 0 COMMENT 'the quantity that have been received so far',
480
  `abstract` LONGTEXT COMMENT "summary from the MARC record (520$a in MARC21)",
638
  `created_by` int(11) DEFAULT NULL COMMENT 'the borrowernumber of order line''s creator',
481
  PRIMARY KEY  (`biblionumber`),
639
  `datecancellationprinted` date DEFAULT NULL COMMENT 'the date the line item was deleted',
482
  KEY `blbnoidx` (`biblionumber`)
640
  `cancellationreason` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'reason of cancellation',
641
  `order_internalnote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to this order line, made for staff',
642
  `order_vendornote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to this order line, made for vendor',
643
  `purchaseordernumber` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'not used? always NULL',
644
  `basketno` int(11) DEFAULT NULL COMMENT 'links this order line to a specific basket (aqbasket.basketno)',
645
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this order line was last modified',
646
  `rrp` decimal(13,2) DEFAULT NULL COMMENT 'the retail cost for this line item',
647
  `replacementprice` decimal(28,6) DEFAULT NULL COMMENT 'the replacement cost for this line item',
648
  `rrp_tax_excluded` decimal(28,6) DEFAULT NULL COMMENT 'the replacement cost excluding tax',
649
  `rrp_tax_included` decimal(28,6) DEFAULT NULL COMMENT 'the replacement cost including tax',
650
  `ecost` decimal(13,2) DEFAULT NULL COMMENT 'the replacement cost for this line item',
651
  `ecost_tax_excluded` decimal(28,6) DEFAULT NULL COMMENT 'the estimated cost excluding tax',
652
  `ecost_tax_included` decimal(28,6) DEFAULT NULL COMMENT 'the estimated cost including tax',
653
  `tax_rate_bak` decimal(6,4) DEFAULT NULL COMMENT 'the tax rate for this line item (%)',
654
  `tax_rate_on_ordering` decimal(6,4) DEFAULT NULL COMMENT 'the tax rate on ordering for this line item (%)',
655
  `tax_rate_on_receiving` decimal(6,4) DEFAULT NULL COMMENT 'the tax rate on receiving for this line item (%)',
656
  `tax_value_bak` decimal(28,6) DEFAULT NULL COMMENT 'the tax value for this line item',
657
  `tax_value_on_ordering` decimal(28,6) DEFAULT NULL COMMENT 'the tax value on ordering for this line item',
658
  `tax_value_on_receiving` decimal(28,6) DEFAULT NULL COMMENT 'the tax value on receiving for this line item',
659
  `discount` float(6,4) DEFAULT NULL COMMENT 'the discount for this line item (%)',
660
  `budget_id` int(11) NOT NULL COMMENT 'the fund this order goes against (aqbudgets.budget_id)',
661
  `budgetdate` date DEFAULT NULL COMMENT 'not used? always NULL',
662
  `sort1` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'statistical field',
663
  `sort2` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'second statistical field',
664
  `sort1_authcat` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
665
  `sort2_authcat` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
666
  `uncertainprice` tinyint(1) DEFAULT NULL COMMENT 'was this price uncertain (1 for yes, 0 for no)',
667
  `subscriptionid` int(11) DEFAULT NULL COMMENT 'links this order line to a subscription (subscription.subscriptionid)',
668
  `parent_ordernumber` int(11) DEFAULT NULL COMMENT 'ordernumber of parent order line, or same as ordernumber if no parent',
669
  `orderstatus` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT 'new' COMMENT 'the current status for this line item. Can be ''new'', ''ordered'', ''partial'', ''complete'' or ''cancelled''',
670
  `line_item_id` varchar(35) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Supplier''s article id for Edifact orderline',
671
  `suppliers_reference_number` varchar(35) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Suppliers unique edifact quote ref',
672
  `suppliers_reference_qualifier` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Type of number above usually ''QLI''',
673
  `suppliers_report` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'reports received from suppliers',
674
  PRIMARY KEY (`ordernumber`),
675
  KEY `basketno` (`basketno`),
676
  KEY `biblionumber` (`biblionumber`),
677
  KEY `budget_id` (`budget_id`),
678
  KEY `parent_ordernumber` (`parent_ordernumber`),
679
  KEY `orderstatus` (`orderstatus`),
680
  KEY `aqorders_created_by` (`created_by`),
681
  KEY `aqorders_ibfk_3` (`invoiceid`),
682
  KEY `aqorders_subscriptionid` (`subscriptionid`),
683
  KEY `aqorders_currency` (`currency`),
684
  CONSTRAINT `aqorders_budget_id_fk` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE,
685
  CONSTRAINT `aqorders_created_by` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
686
  CONSTRAINT `aqorders_currency` FOREIGN KEY (`currency`) REFERENCES `currency` (`currency`) ON DELETE SET NULL ON UPDATE SET NULL,
687
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
688
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
689
  CONSTRAINT `aqorders_ibfk_3` FOREIGN KEY (`invoiceid`) REFERENCES `aqinvoices` (`invoiceid`) ON DELETE SET NULL ON UPDATE CASCADE,
690
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
483
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
691
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
692
/*!40101 SET character_set_client = @saved_cs_client */;
484
693
485
--
694
--
486
-- Table structure for table `deletedbiblioitems`
695
-- Table structure for table `aqorders_claims`
487
--
696
--
488
697
489
DROP TABLE IF EXISTS `deletedbiblioitems`;
698
DROP TABLE IF EXISTS `aqorders_claims`;
490
CREATE TABLE `deletedbiblioitems` ( -- information about bibliographic records that have been deleted
699
/*!40101 SET @saved_cs_client     = @@character_set_client */;
491
  `biblioitemnumber` int(11) NOT NULL default 0 COMMENT "primary key, unique identifier assigned by Koha",
700
/*!40101 SET character_set_client = utf8 */;
492
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key linking this table to the biblio table",
701
CREATE TABLE `aqorders_claims` (
493
  `volume` LONGTEXT,
702
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID of the claims',
494
  `number` LONGTEXT,
703
  `ordernumber` int(11) NOT NULL COMMENT 'order linked to this claim',
495
  `itemtype` varchar(10) default NULL COMMENT "biblio level item type (MARC21 942$c)",
704
  `claimed_on` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'Date of the claims',
496
  `isbn` LONGTEXT default NULL COMMENT "ISBN (MARC21 020$a)",
705
  PRIMARY KEY (`id`),
497
  `issn` LONGTEXT default NULL COMMENT "ISSN (MARC21 022$a)",
706
  KEY `aqorders_claims_ibfk_1` (`ordernumber`),
498
  `ean` LONGTEXT default NULL,
707
  CONSTRAINT `aqorders_claims_ibfk_1` FOREIGN KEY (`ordernumber`) REFERENCES `aqorders` (`ordernumber`) ON DELETE CASCADE ON UPDATE CASCADE
499
  `publicationyear` MEDIUMTEXT,
500
  `publishercode` varchar(255) default NULL COMMENT "publisher (MARC21 260$b)",
501
  `volumedate` date default NULL,
502
  `volumedesc` MEDIUMTEXT COMMENT "volume information (MARC21 362$a)",
503
  `collectiontitle` LONGTEXT default NULL,
504
  `collectionissn` MEDIUMTEXT default NULL,
505
  `collectionvolume` LONGTEXT default NULL,
506
  `editionstatement` MEDIUMTEXT default NULL,
507
  `editionresponsibility` MEDIUMTEXT default NULL,
508
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
509
  `illus` varchar(255) default NULL COMMENT "illustrations (MARC21 300$b)",
510
  `pages` varchar(255) default NULL COMMENT "number of pages (MARC21 300$c)",
511
  `notes` LONGTEXT,
512
  `size` varchar(255) default NULL COMMENT "material size (MARC21 300$c)",
513
  `place` varchar(255) default NULL COMMENT "publication place (MARC21 260$a)",
514
  `lccn` varchar(25) default NULL COMMENT "library of congress control number (MARC21 010$a)",
515
  `url` MEDIUMTEXT default NULL COMMENT "url (MARC21 856$u)",
516
  `cn_source` varchar(10) default NULL COMMENT "classification source (MARC21 942$2)",
517
  `cn_class` varchar(30) default NULL,
518
  `cn_item` varchar(10) default NULL,
519
  `cn_suffix` varchar(10) default NULL,
520
  `cn_sort` varchar(255) default NULL COMMENT "normalized version of the call number used for sorting",
521
  `agerestriction` varchar(255) default NULL COMMENT "target audience/age restriction from the bib record (MARC21 521$a)",
522
  `totalissues` int(10),
523
  PRIMARY KEY  (`biblioitemnumber`),
524
  KEY `bibinoidx` (`biblioitemnumber`),
525
  KEY `bibnoidx` (`biblionumber`),
526
  KEY `itemtype_idx` (`itemtype`),
527
  KEY `isbn` (`isbn`(255)),
528
  KEY `ean` (`ean`(255)),
529
  KEY `publishercode` (`publishercode` (191)),
530
  KEY `timestamp` (`timestamp`)
531
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
708
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
709
/*!40101 SET character_set_client = @saved_cs_client */;
532
710
533
--
711
--
534
-- Table structure for table `deletedborrowers`
712
-- Table structure for table `aqorders_items`
535
--
713
--
536
714
537
DROP TABLE IF EXISTS `deletedborrowers`;
715
DROP TABLE IF EXISTS `aqorders_items`;
538
CREATE TABLE `deletedborrowers` ( -- stores data related to the patrons/borrowers you have deleted
716
/*!40101 SET @saved_cs_client     = @@character_set_client */;
539
  `borrowernumber` int(11) NOT NULL default 0 COMMENT "primary key, Koha assigned ID number for patrons/borrowers",
717
/*!40101 SET character_set_client = utf8 */;
540
  `cardnumber` varchar(32) default NULL COMMENT "unique key, library assigned ID number for patrons/borrowers",
718
CREATE TABLE `aqorders_items` (
541
  `surname` LONGTEXT COMMENT "patron/borrower's last name (surname)",
719
  `ordernumber` int(11) NOT NULL COMMENT 'the order this item is attached to (aqorders.ordernumber)',
542
  `firstname` MEDIUMTEXT COMMENT "patron/borrower's first name",
720
  `itemnumber` int(11) NOT NULL COMMENT 'the item number for this item (items.itemnumber)',
543
  `title` LONGTEXT COMMENT "patron/borrower's title, for example: Mr. or Mrs.",
721
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this order item was last touched',
544
  `othernames` LONGTEXT COMMENT "any other names associated with the patron/borrower",
722
  PRIMARY KEY (`itemnumber`),
545
  `initials` MEDIUMTEXT COMMENT "initials for your patron/borrower",
723
  KEY `ordernumber` (`ordernumber`),
546
  `streetnumber` TINYTEXT default NULL COMMENT "the house number for your patron/borrower's primary address",
724
  CONSTRAINT `aqorders_items_ibfk_1` FOREIGN KEY (`ordernumber`) REFERENCES `aqorders` (`ordernumber`) ON DELETE CASCADE ON UPDATE CASCADE
547
  `streettype` TINYTEXT default NULL COMMENT "the street type (Rd., Blvd, etc) for your patron/borrower's primary address",
548
  `address` LONGTEXT COMMENT "the first address line for your patron/borrower's primary address",
549
  `address2` MEDIUMTEXT COMMENT "the second address line for your patron/borrower's primary address",
550
  `city` LONGTEXT COMMENT "the city or town for your patron/borrower's primary address",
551
  `state` MEDIUMTEXT default NULL COMMENT "the state or province for your patron/borrower's primary address",
552
  `zipcode` TINYTEXT default NULL COMMENT "the zip or postal code for your patron/borrower's primary address",
553
  `country` MEDIUMTEXT COMMENT "the country for your patron/borrower's primary address",
554
  `email` LONGTEXT COMMENT "the primary email address for your patron/borrower's primary address",
555
  `phone` MEDIUMTEXT COMMENT "the primary phone number for your patron/borrower's primary address",
556
  `mobile` TINYTEXT default NULL COMMENT "the other phone number for your patron/borrower's primary address",
557
  `fax` LONGTEXT COMMENT "the fax number for your patron/borrower's primary address",
558
  `emailpro` MEDIUMTEXT COMMENT "the secondary email addres for your patron/borrower's primary address",
559
  `phonepro` MEDIUMTEXT COMMENT "the secondary phone number for your patron/borrower's primary address",
560
  `B_streetnumber` TINYTEXT default NULL COMMENT "the house number for your patron/borrower's alternate address",
561
  `B_streettype` TINYTEXT default NULL COMMENT "the street type (Rd., Blvd, etc) for your patron/borrower's alternate address",
562
  `B_address` MEDIUMTEXT default NULL COMMENT "the first address line for your patron/borrower's alternate address",
563
  `B_address2` MEDIUMTEXT default NULL COMMENT "the second address line for your patron/borrower's alternate address",
564
  `B_city` LONGTEXT COMMENT "the city or town for your patron/borrower's alternate address",
565
  `B_state` MEDIUMTEXT default NULL COMMENT "the state for your patron/borrower's alternate address",
566
  `B_zipcode` TINYTEXT default NULL COMMENT "the zip or postal code for your patron/borrower's alternate address",
567
  `B_country` MEDIUMTEXT COMMENT "the country for your patron/borrower's alternate address",
568
  `B_email` MEDIUMTEXT COMMENT "the patron/borrower's alternate email address",
569
  `B_phone` LONGTEXT COMMENT "the patron/borrower's alternate phone number",
570
  `dateofbirth` date default NULL COMMENT "the patron/borrower's date of birth (YYYY-MM-DD)",
571
  `branchcode` varchar(10) NOT NULL default '' COMMENT "foreign key from the branches table, includes the code of the patron/borrower's home branch",
572
  `categorycode` varchar(10) NOT NULL default '' COMMENT "foreign key from the categories table, includes the code of the patron category",
573
  `dateenrolled` date default NULL COMMENT "date the patron was added to Koha (YYYY-MM-DD)",
574
  `dateexpiry` date default NULL COMMENT "date the patron/borrower's card is set to expire (YYYY-MM-DD)",
575
  `date_renewed` date default NULL COMMENT "date the patron/borrower's card was last renewed",
576
  `gonenoaddress` tinyint(1) default NULL COMMENT "set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having an unconfirmed address",
577
  `lost` tinyint(1) default NULL COMMENT "set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having lost their card",
578
  `debarred` date default NULL COMMENT "until this date the patron can only check-in (no loans, no holds, etc.), is a fine based on days instead of money (YYYY-MM-DD)",
579
  `debarredcomment` VARCHAR(255) DEFAULT NULL COMMENT "comment on the stop of patron",
580
  `contactname` LONGTEXT COMMENT "used for children and profesionals to include surname or last name of guarantor or organization name",
581
  `contactfirstname` MEDIUMTEXT COMMENT "used for children to include first name of guarantor",
582
  `contacttitle` MEDIUMTEXT COMMENT "used for children to include title (Mr., Mrs., etc) of guarantor",
583
  `borrowernotes` LONGTEXT COMMENT "a note on the patron/borrower's account that is only visible in the staff interface",
584
  `relationship` varchar(100) default NULL COMMENT "used for children to include the relationship to their guarantor",
585
  `sex` varchar(1) default NULL COMMENT "patron/borrower's gender",
586
  `password` varchar(60) default NULL COMMENT "patron/borrower's encrypted password",
587
  `flags` int(11) default NULL COMMENT "will include a number associated with the staff member's permissions",
588
  `userid` varchar(75) default NULL COMMENT "patron/borrower's opac and/or staff interface log in",
589
  `opacnote` LONGTEXT COMMENT "a note on the patron/borrower's account that is visible in the OPAC and staff interface",
590
  `contactnote` varchar(255) default NULL COMMENT "a note related to the patron/borrower's alternate address",
591
  `sort1` varchar(80) default NULL COMMENT "a field that can be used for any information unique to the library",
592
  `sort2` varchar(80) default NULL COMMENT "a field that can be used for any information unique to the library",
593
  `altcontactfirstname` MEDIUMTEXT default NULL COMMENT "first name of alternate contact for the patron/borrower",
594
  `altcontactsurname` MEDIUMTEXT default NULL COMMENT "surname or last name of the alternate contact for the patron/borrower",
595
  `altcontactaddress1` MEDIUMTEXT default NULL COMMENT "the first address line for the alternate contact for the patron/borrower",
596
  `altcontactaddress2` MEDIUMTEXT default NULL COMMENT "the second address line for the alternate contact for the patron/borrower",
597
  `altcontactaddress3` MEDIUMTEXT default NULL COMMENT "the city for the alternate contact for the patron/borrower",
598
  `altcontactstate` MEDIUMTEXT default NULL COMMENT "the state for the alternate contact for the patron/borrower",
599
  `altcontactzipcode` MEDIUMTEXT default NULL COMMENT "the zipcode for the alternate contact for the patron/borrower",
600
  `altcontactcountry` MEDIUMTEXT default NULL COMMENT "the country for the alternate contact for the patron/borrower",
601
  `altcontactphone` MEDIUMTEXT default NULL COMMENT "the phone number for the alternate contact for the patron/borrower",
602
  `smsalertnumber` varchar(50) default NULL COMMENT "the mobile phone number where the patron/borrower would like to receive notices (if SMS turned on)",
603
  `sms_provider_id` int(11) DEFAULT NULL COMMENT "the provider of the mobile phone number defined in smsalertnumber",
604
  `privacy` integer(11) DEFAULT '1' NOT NULL COMMENT "patron/borrower's privacy settings related to their checkout history  KEY `borrowernumber` (`borrowernumber`),",
605
  `privacy_guarantor_fines` tinyint(1) NOT NULL DEFAULT '0' COMMENT "controls if relatives can see this patron's fines",
606
  `privacy_guarantor_checkouts` tinyint(1) NOT NULL DEFAULT '0' COMMENT "controls if relatives can see this patron's checkouts",
607
  `checkprevcheckout` varchar(7) NOT NULL default 'inherit' COMMENT "produce a warning for this patron if this item has previously been checked out to this patron if 'yes', not if 'no', defer to category setting if 'inherit'.",
608
  `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "time of last change could be useful for synchronization with external systems (among others)",
609
  `lastseen` datetime default NULL COMMENT "last time a patron has been seen (connected at the OPAC or staff interface)",
610
  `lang` varchar(25) NOT NULL default 'default' COMMENT "lang to use to send notices to this patron",
611
  `login_attempts` int(4) NOT NULL default 0 COMMENT "number of failed login attemps",
612
  `overdrive_auth_token` MEDIUMTEXT default NULL COMMENT "persist OverDrive auth token",
613
  `anonymized` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "flag for data anonymization",
614
  `autorenew_checkouts` TINYINT(1) NOT NULL DEFAULT 1 COMMENT "flag for allowing auto-renewal",
615
  KEY borrowernumber (borrowernumber),
616
  KEY `cardnumber` (`cardnumber`),
617
  KEY `sms_provider_id` (`sms_provider_id`)
618
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
725
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
726
/*!40101 SET character_set_client = @saved_cs_client */;
619
727
620
--
728
--
621
-- Table structure for table `deleteditems`
729
-- Table structure for table `aqorders_transfers`
622
--
730
--
623
731
624
DROP TABLE IF EXISTS `deleteditems`;
732
DROP TABLE IF EXISTS `aqorders_transfers`;
625
CREATE TABLE `deleteditems` (
733
/*!40101 SET @saved_cs_client     = @@character_set_client */;
626
  `itemnumber` int(11) NOT NULL default 0 COMMENT "primary key and unique identifier added by Koha",
734
/*!40101 SET character_set_client = utf8 */;
627
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key from biblio table used to link this item to the right bib record",
735
CREATE TABLE `aqorders_transfers` (
628
  `biblioitemnumber` int(11) NOT NULL default 0 COMMENT "foreign key from the biblioitems table to link to item to additional information",
736
  `ordernumber_from` int(11) DEFAULT NULL,
629
  `barcode` varchar(20) default NULL COMMENT "item barcode (MARC21 952$p)",
737
  `ordernumber_to` int(11) DEFAULT NULL,
630
  `dateaccessioned` date default NULL COMMENT "date the item was acquired or added to Koha (MARC21 952$d)",
738
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp(),
631
  `booksellerid` LONGTEXT default NULL COMMENT "where the item was purchased (MARC21 952$e)",
739
  UNIQUE KEY `ordernumber_from` (`ordernumber_from`),
632
  `homebranch` varchar(10) default NULL COMMENT "foreign key from the branches table for the library that owns this item (MARC21 952$a)",
740
  UNIQUE KEY `ordernumber_to` (`ordernumber_to`),
633
  `price` decimal(8,2) default NULL COMMENT "purchase price (MARC21 952$g)",
741
  CONSTRAINT `aqorders_transfers_ordernumber_from` FOREIGN KEY (`ordernumber_from`) REFERENCES `aqorders` (`ordernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
634
  `replacementprice` decimal(8,2) default NULL COMMENT "cost the library charges to replace the item if it has been marked lost (MARC21 952$v)",
742
  CONSTRAINT `aqorders_transfers_ordernumber_to` FOREIGN KEY (`ordernumber_to`) REFERENCES `aqorders` (`ordernumber`) ON DELETE SET NULL ON UPDATE CASCADE
635
  `replacementpricedate` date default NULL COMMENT "the date the price is effective from (MARC21 952$w)",
636
  `datelastborrowed` date default NULL COMMENT "the date the item was last checked out",
637
  `datelastseen` date default NULL COMMENT "the date the item was last see (usually the last time the barcode was scanned or inventory was done)",
638
  `stack` tinyint(1) default NULL,
639
  `notforloan` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining why this item is not for loan (MARC21 952$7)",
640
  `damaged` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as damaged (MARC21 952$4)",
641
  `damaged_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as damaged, NULL if not damaged",
642
  `itemlost` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as lost (MARC21 952$1)",
643
  `itemlost_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as lost, NULL if not lost",
644
  `withdrawn` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as withdrawn (MARC21 952$0)",
645
  `withdrawn_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as withdrawn, NULL if not withdrawn",
646
  `itemcallnumber` varchar(255) default NULL COMMENT "call number for this item (MARC21 952$o)",
647
  `coded_location_qualifier` varchar(10) default NULL COMMENT "coded location qualifier(MARC21 952$f)",
648
  `issues` smallint(6) default 0 COMMENT "number of times this item has been checked out",
649
  `renewals` smallint(6) default NULL COMMENT "number of times this item has been renewed",
650
  `reserves` smallint(6) default NULL COMMENT "number of times this item has been placed on hold/reserved",
651
  `restricted` tinyint(1) default NULL COMMENT "authorized value defining use restrictions for this item (MARC21 952$5)",
652
  `itemnotes` LONGTEXT COMMENT "public notes on this item (MARC21 952$z)",
653
  `itemnotes_nonpublic` LONGTEXT default NULL COMMENT "non-public notes on this item (MARC21 952$x)",
654
  `holdingbranch` varchar(10) default NULL COMMENT "foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)",
655
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time this item was last altered",
656
  `location` varchar(80) default NULL COMMENT "authorized value for the shelving location for this item (MARC21 952$c)",
657
  `permanent_location` varchar(80) default NULL COMMENT "linked to the CART and PROC temporary locations feature, stores the permanent shelving location",
658
  `onloan` date default NULL COMMENT "defines if item is checked out (NULL for not checked out, and due date for checked out)",
659
  `cn_source` varchar(10) default NULL COMMENT "classification source used on this item (MARC21 952$2)",
660
  `cn_sort` varchar(255) default NULL COMMENT "normalized form of the call number (MARC21 952$o) used for sorting",
661
  `ccode` varchar(80) default NULL COMMENT "authorized value for the collection code associated with this item (MARC21 952$8)",
662
  `materials` MEDIUMTEXT default NULL COMMENT "materials specified (MARC21 952$3)",
663
  `uri` MEDIUMTEXT default NULL COMMENT "URL for the item (MARC21 952$u)",
664
  `itype` varchar(10) default NULL COMMENT "foreign key from the itemtypes table defining the type for this item (MARC21 952$y)",
665
  `more_subfields_xml` LONGTEXT default NULL COMMENT "additional 952 subfields in XML format",
666
  `enumchron` MEDIUMTEXT default NULL COMMENT "serial enumeration/chronology for the item (MARC21 952$h)",
667
  `copynumber` varchar(32) default NULL COMMENT "copy number (MARC21 952$t)",
668
  `stocknumber` varchar(32) default NULL COMMENT "inventory number (MARC21 952$i)",
669
  `new_status` VARCHAR(32) DEFAULT NULL COMMENT "'new' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.",
670
  `exclude_from_local_holds_priority` tinyint(1) default NULL COMMENT "Exclude this item from local holds priority",
671
  PRIMARY KEY  (`itemnumber`),
672
  KEY `delitembarcodeidx` (`barcode`),
673
  KEY `delitemstocknumberidx` (`stocknumber`),
674
  KEY `delitembinoidx` (`biblioitemnumber`),
675
  KEY `delitembibnoidx` (`biblionumber`),
676
  KEY `delhomebranch` (`homebranch`),
677
  KEY `delholdingbranch` (`holdingbranch`),
678
  KEY `itype_idx` (`itype`),
679
  KEY `timestamp` (`timestamp`)
680
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
743
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
744
/*!40101 SET character_set_client = @saved_cs_client */;
681
745
682
--
746
--
683
-- Table structure for table `export_format`
747
-- Table structure for table `article_requests`
684
--
685
686
DROP TABLE IF EXISTS `export_format`;
687
CREATE TABLE `export_format` (
688
  `export_format_id` int(11) NOT NULL auto_increment,
689
  `profile` varchar(255) NOT NULL,
690
  `description` LONGTEXT NOT NULL,
691
  `content` LONGTEXT NOT NULL,
692
  `csv_separator` varchar(2) NOT NULL DEFAULT ',',
693
  `field_separator` varchar(2),
694
  `subfield_separator` varchar(2),
695
  `encoding` varchar(255) NOT NULL DEFAULT 'utf8',
696
  `type` varchar(255) DEFAULT 'marc',
697
  `used_for` varchar(255) DEFAULT 'export_records',
698
  `staff_only` TINYINT(1) NOT NULL DEFAULT 0,
699
  PRIMARY KEY (`export_format_id`),
700
  KEY `used_for_idx` (`used_for` (191)),
701
  KEY `staff_only_idx` (`staff_only`)
702
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Used for CSV export';
703
704
--
705
-- Table structure for table `import_batch_profiles`
706
--
748
--
707
749
708
DROP TABLE IF EXISTS `import_batch_profiles`;
750
DROP TABLE IF EXISTS `article_requests`;
709
CREATE TABLE `import_batch_profiles` ( -- profile for batches of marc records to be imported
751
/*!40101 SET @saved_cs_client     = @@character_set_client */;
710
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier and primary key",
752
/*!40101 SET character_set_client = utf8 */;
711
  `name` varchar(100) NOT NULL COMMENT "name of this profile",
753
CREATE TABLE `article_requests` (
712
  `matcher_id` int(11) default NULL COMMENT "the id of the match rule used (matchpoints.matcher_id)",
754
  `id` int(11) NOT NULL AUTO_INCREMENT,
713
  `template_id` int(11) default NULL COMMENT "the id of the marc modification template",
755
  `borrowernumber` int(11) NOT NULL,
714
  `overlay_action` varchar(50) default NULL COMMENT "how to handle duplicate records",
756
  `biblionumber` int(11) NOT NULL,
715
  `nomatch_action` varchar(50) default NULL COMMENT "how to handle records where no match is found",
757
  `itemnumber` int(11) DEFAULT NULL,
716
  `item_action` varchar(50) default NULL COMMENT "what to do with item records",
758
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
717
  `parse_items` tinyint(1) default NULL COMMENT "should items be parsed",
759
  `title` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
718
  `record_type` varchar(50) default NULL COMMENT "type of record in the batch",
760
  `author` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
719
  `encoding` varchar(50) default NULL COMMENT "file encoding",
761
  `volume` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
720
  `format` varchar(50) default NULL COMMENT "marc format",
762
  `issue` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
721
  `comments` LONGTEXT COMMENT "any comments added when the file was uploaded",
763
  `date` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
764
  `pages` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
765
  `chapters` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
766
  `patron_notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
767
  `status` enum('PENDING','PROCESSING','COMPLETED','CANCELED') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'PENDING',
768
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
769
  `created_on` timestamp NULL DEFAULT NULL COMMENT 'Be careful with two timestamps in one table not allowing NULL',
770
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
722
  PRIMARY KEY (`id`),
771
  PRIMARY KEY (`id`),
723
  UNIQUE KEY `u_import_batch_profiles__name` (`name`)
772
  KEY `borrowernumber` (`borrowernumber`),
724
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
773
  KEY `biblionumber` (`biblionumber`),
725
774
  KEY `itemnumber` (`itemnumber`),
726
--
727
-- Table structure for table `import_batches`
728
--
729
730
DROP TABLE IF EXISTS `import_batches`;
731
CREATE TABLE `import_batches` ( -- information about batches of marc records that have been imported
732
  `import_batch_id` int(11) NOT NULL auto_increment COMMENT "unique identifier and primary key",
733
  `matcher_id` int(11) default NULL COMMENT "the id of the match rule used (matchpoints.matcher_id)",
734
  `template_id` int(11) default NULL,
735
  `branchcode` varchar(10) default NULL,
736
  `num_records` int(11) NOT NULL default 0 COMMENT "number of records in the file",
737
  `num_items` int(11) NOT NULL default 0 COMMENT "number of items in the file",
738
  `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT "date and time the file was uploaded",
739
  `overlay_action` enum('replace', 'create_new', 'use_template', 'ignore') NOT NULL default 'create_new' COMMENT "how to handle duplicate records",
740
  `nomatch_action` enum('create_new', 'ignore') NOT NULL default 'create_new' COMMENT "how to handle records where no match is found",
741
  `item_action` enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore', 'replace') NOT NULL default 'always_add' COMMENT "what to do with item records",
742
  `import_status` enum('staging', 'staged', 'importing', 'imported', 'reverting', 'reverted', 'cleaned') NOT NULL default 'staging' COMMENT "the status of the imported file",
743
  `batch_type` enum('batch', 'z3950', 'webservice') NOT NULL default 'batch' COMMENT "where this batch has come from",
744
  `record_type` enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio' COMMENT "type of record in the batch",
745
  `file_name` varchar(100) COMMENT "the name of the file uploaded",
746
  `comments` LONGTEXT COMMENT "any comments added when the file was uploaded",
747
  `profile_id` int(11) default NULL,
748
  PRIMARY KEY (`import_batch_id`),
749
  KEY `branchcode` (`branchcode`),
750
  CONSTRAINT `import_batches_ibfk_1` FOREIGN KEY (`profile_id`)
751
  REFERENCES `import_batch_profiles` (`id`) ON DELETE SET NULL ON UPDATE SET NULL
752
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
753
754
--
755
-- Table structure for table `import_records`
756
--
757
758
DROP TABLE IF EXISTS `import_records`;
759
CREATE TABLE `import_records` (
760
  `import_record_id` int(11) NOT NULL auto_increment,
761
  `import_batch_id` int(11) NOT NULL,
762
  `branchcode` varchar(10) default NULL,
763
  `record_sequence` int(11) NOT NULL default 0,
764
  `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
765
  `import_date` DATE default NULL,
766
  `marc` longblob NOT NULL,
767
  `marcxml` LONGTEXT NOT NULL,
768
  `marcxml_old` LONGTEXT NOT NULL,
769
  `record_type` enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio',
770
  `overlay_status` enum('no_match', 'auto_match', 'manual_match', 'match_applied') NOT NULL default 'no_match',
771
  `status` enum('error', 'staged', 'imported', 'reverted', 'items_reverted', 'ignored') NOT NULL default 'staged',
772
  `import_error` LONGTEXT,
773
  `encoding` varchar(40) NOT NULL default '',
774
  PRIMARY KEY (`import_record_id`),
775
  CONSTRAINT `import_records_ifbk_1` FOREIGN KEY (`import_batch_id`)
776
             REFERENCES `import_batches` (`import_batch_id`) ON DELETE CASCADE ON UPDATE CASCADE,
777
  KEY `branchcode` (`branchcode`),
775
  KEY `branchcode` (`branchcode`),
778
  KEY `batch_sequence` (`import_batch_id`, `record_sequence`),
776
  CONSTRAINT `article_requests_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
779
  KEY `batch_id_record_type` (`import_batch_id`,`record_type`)
777
  CONSTRAINT `article_requests_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
780
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
778
  CONSTRAINT `article_requests_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE CASCADE,
781
779
  CONSTRAINT `article_requests_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE
782
--
783
-- Table structure for `import_record_matches`
784
--
785
DROP TABLE IF EXISTS `import_record_matches`;
786
CREATE TABLE `import_record_matches` ( -- matches found when importing a batch of records
787
  `import_record_id` int(11) NOT NULL COMMENT "the id given to the imported bib record (import_records.import_record_id)",
788
  `candidate_match_id` int(11) NOT NULL COMMENT "the biblio the imported record matches (biblio.biblionumber)",
789
  `score` int(11) NOT NULL default 0 COMMENT "the match score",
790
  CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`)
791
             REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
792
  KEY `record_score` (`import_record_id`, `score`)
793
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
794
795
--
796
-- Table structure for table `import_auths`
797
--
798
799
DROP TABLE IF EXISTS `import_auths`;
800
CREATE TABLE `import_auths` (
801
  `import_record_id` int(11) NOT NULL,
802
  `matched_authid` int(11) default NULL,
803
  `control_number` varchar(25) default NULL,
804
  `authorized_heading` varchar(128) default NULL,
805
  `original_source` varchar(25) default NULL,
806
  CONSTRAINT `import_auths_ibfk_1` FOREIGN KEY (`import_record_id`)
807
             REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
808
  KEY `matched_authid` (`matched_authid`)
809
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
780
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
781
/*!40101 SET character_set_client = @saved_cs_client */;
810
782
811
--
783
--
812
-- Table structure for table `import_biblios`
784
-- Table structure for table `audio_alerts`
813
--
785
--
814
786
815
DROP TABLE IF EXISTS `import_biblios`;
787
DROP TABLE IF EXISTS `audio_alerts`;
816
CREATE TABLE `import_biblios` (
788
/*!40101 SET @saved_cs_client     = @@character_set_client */;
817
  `import_record_id` int(11) NOT NULL,
789
/*!40101 SET character_set_client = utf8 */;
818
  `matched_biblionumber` int(11) default NULL,
790
CREATE TABLE `audio_alerts` (
819
  `control_number` varchar(25) default NULL,
791
  `id` int(11) NOT NULL AUTO_INCREMENT,
820
  `original_source` varchar(25) default NULL,
792
  `precedence` smallint(5) unsigned NOT NULL,
821
  `title` LONGTEXT default NULL,
793
  `selector` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
822
  `author` LONGTEXT default NULL,
794
  `sound` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
823
  `isbn` LONGTEXT default NULL,
795
  PRIMARY KEY (`id`),
824
  `issn` LONGTEXT default NULL,
796
  KEY `precedence` (`precedence`)
825
  `has_items` tinyint(1) NOT NULL default 0,
797
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
826
  CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`)
798
/*!40101 SET character_set_client = @saved_cs_client */;
827
             REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
828
  KEY `matched_biblionumber` (`matched_biblionumber`),
829
  KEY `title` (`title`(191)),
830
  KEY `isbn` (`isbn`(191))
831
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
832
799
833
--
800
--
834
-- Table structure for table `import_items`
801
-- Table structure for table `auth_header`
835
--
802
--
836
803
837
DROP TABLE IF EXISTS `import_items`;
804
DROP TABLE IF EXISTS `auth_header`;
838
CREATE TABLE `import_items` (
805
/*!40101 SET @saved_cs_client     = @@character_set_client */;
839
  `import_items_id` int(11) NOT NULL auto_increment,
806
/*!40101 SET character_set_client = utf8 */;
840
  `import_record_id` int(11) NOT NULL,
807
CREATE TABLE `auth_header` (
841
  `itemnumber` int(11) default NULL,
808
  `authid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
842
  `branchcode` varchar(10) default NULL,
809
  `authtypecode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
843
  `status` enum('error', 'staged', 'imported', 'reverted', 'ignored') NOT NULL default 'staged',
810
  `datecreated` date DEFAULT NULL,
844
  `marcxml` LONGTEXT NOT NULL,
811
  `modification_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
845
  `import_error` LONGTEXT,
812
  `origincode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
846
  PRIMARY KEY (`import_items_id`),
813
  `authtrees` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
847
  CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`)
814
  `marc` blob DEFAULT NULL,
848
             REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
815
  `linkid` bigint(20) DEFAULT NULL,
849
  KEY `itemnumber` (`itemnumber`),
816
  `marcxml` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
850
  KEY `branchcode` (`branchcode`)
817
  PRIMARY KEY (`authid`),
851
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
818
  KEY `origincode` (`origincode`)
819
) ENGINE=InnoDB AUTO_INCREMENT=1708 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
820
/*!40101 SET character_set_client = @saved_cs_client */;
852
821
853
--
822
--
854
-- Table structure for table `items`
823
-- Table structure for table `auth_subfield_structure`
855
--
824
--
856
825
857
DROP TABLE IF EXISTS `items`;
826
DROP TABLE IF EXISTS `auth_subfield_structure`;
858
CREATE TABLE `items` ( -- holdings/item information
827
/*!40101 SET @saved_cs_client     = @@character_set_client */;
859
  `itemnumber` int(11) NOT NULL auto_increment COMMENT "primary key and unique identifier added by Koha",
828
/*!40101 SET character_set_client = utf8 */;
860
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key from biblio table used to link this item to the right bib record",
829
CREATE TABLE `auth_subfield_structure` (
861
  `biblioitemnumber` int(11) NOT NULL default 0 COMMENT "foreign key from the biblioitems table to link to item to additional information",
830
  `authtypecode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
862
  `barcode` varchar(20) default NULL COMMENT "item barcode (MARC21 952$p)",
831
  `tagfield` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
863
  `dateaccessioned` date default NULL COMMENT "date the item was acquired or added to Koha (MARC21 952$d)",
832
  `tagsubfield` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
864
  `booksellerid` LONGTEXT default NULL COMMENT "where the item was purchased (MARC21 952$e)",
833
  `liblibrarian` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
865
  `homebranch` varchar(10) default NULL COMMENT "foreign key from the branches table for the library that owns this item (MARC21 952$a)",
834
  `libopac` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
866
  `price` decimal(8,2) default NULL COMMENT "purchase price (MARC21 952$g)",
835
  `repeatable` tinyint(4) NOT NULL DEFAULT 0,
867
  `replacementprice` decimal(8,2) default NULL COMMENT "cost the library charges to replace the item if it has been marked lost (MARC21 952$v)",
836
  `mandatory` tinyint(4) NOT NULL DEFAULT 0,
868
  `replacementpricedate` date default NULL COMMENT "the date the price is effective from (MARC21 952$w)",
837
  `tab` tinyint(1) DEFAULT NULL,
869
  `datelastborrowed` date default NULL COMMENT "the date the item was last checked out/issued",
838
  `authorised_value` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
870
  `datelastseen` date default NULL COMMENT "the date the item was last see (usually the last time the barcode was scanned or inventory was done)",
839
  `value_builder` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
871
  `stack` tinyint(1) default NULL,
840
  `seealso` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
872
  `notforloan` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining why this item is not for loan (MARC21 952$7)",
841
  `isurl` tinyint(1) DEFAULT NULL,
873
  `damaged` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as damaged (MARC21 952$4)",
842
  `hidden` tinyint(3) NOT NULL DEFAULT 0,
874
  `damaged_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as damaged, NULL if not damaged",
843
  `linkid` tinyint(1) NOT NULL DEFAULT 0,
875
  `itemlost` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as lost (MARC21 952$1)",
844
  `kohafield` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT '',
876
  `itemlost_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as lost, NULL if not lost",
845
  `frameworkcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
877
  `withdrawn` tinyint(1) NOT NULL default 0 COMMENT "authorized value defining this item as withdrawn (MARC21 952$0)",
846
  `defaultvalue` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
878
  `withdrawn_on` datetime DEFAULT NULL COMMENT "the date and time an item was last marked as withdrawn, NULL if not withdrawn",
847
  PRIMARY KEY (`authtypecode`,`tagfield`,`tagsubfield`),
879
  `itemcallnumber` varchar(255) default NULL COMMENT "call number for this item (MARC21 952$o)",
848
  KEY `tab` (`authtypecode`,`tab`),
880
  `coded_location_qualifier` varchar(10) default NULL COMMENT "coded location qualifier(MARC21 952$f)",
849
  CONSTRAINT `auth_subfield_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
881
  `issues` smallint(6) default 0 COMMENT "number of times this item has been checked out/issued",
882
  `renewals` smallint(6) default NULL COMMENT "number of times this item has been renewed",
883
  `reserves` smallint(6) default NULL COMMENT "number of times this item has been placed on hold/reserved",
884
  `restricted` tinyint(1) default NULL COMMENT "authorized value defining use restrictions for this item (MARC21 952$5)",
885
  `itemnotes` LONGTEXT COMMENT "public notes on this item (MARC21 952$z)",
886
  `itemnotes_nonpublic` LONGTEXT default NULL COMMENT "non-public notes on this item (MARC21 952$x)",
887
  `holdingbranch` varchar(10) default NULL COMMENT "foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)",
888
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time this item was last altered",
889
  `location` varchar(80) default NULL COMMENT "authorized value for the shelving location for this item (MARC21 952$c)",
890
  `permanent_location` varchar(80) default NULL COMMENT "linked to the CART and PROC temporary locations feature, stores the permanent shelving location",
891
  `onloan` date default NULL COMMENT "defines if item is checked out (NULL for not checked out, and due date for checked out)",
892
  `cn_source` varchar(10) default NULL COMMENT "classification source used on this item (MARC21 952$2)",
893
  `cn_sort` varchar(255) default NULL COMMENT "normalized form of the call number (MARC21 952$o) used for sorting",
894
  `ccode` varchar(80) default NULL COMMENT "authorized value for the collection code associated with this item (MARC21 952$8)",
895
  `materials` MEDIUMTEXT default NULL COMMENT "materials specified (MARC21 952$3)",
896
  `uri` MEDIUMTEXT default NULL COMMENT "URL for the item (MARC21 952$u)",
897
  `itype` varchar(10) default NULL COMMENT "foreign key from the itemtypes table defining the type for this item (MARC21 952$y)",
898
  `more_subfields_xml` LONGTEXT default NULL COMMENT "additional 952 subfields in XML format",
899
  `enumchron` MEDIUMTEXT default NULL COMMENT "serial enumeration/chronology for the item (MARC21 952$h)",
900
  `copynumber` varchar(32) default NULL COMMENT "copy number (MARC21 952$t)",
901
  `stocknumber` varchar(32) default NULL COMMENT "inventory number (MARC21 952$i)",
902
  `new_status` VARCHAR(32) DEFAULT NULL COMMENT "'new' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.",
903
  `exclude_from_local_holds_priority` tinyint(1) default NULL COMMENT "Exclude this item from local holds priority",
904
  PRIMARY KEY  (`itemnumber`),
905
  UNIQUE KEY `itembarcodeidx` (`barcode`),
906
  KEY `itemstocknumberidx` (`stocknumber`),
907
  KEY `itembinoidx` (`biblioitemnumber`),
908
  KEY `itembibnoidx` (`biblionumber`),
909
  KEY `homebranch` (`homebranch`),
910
  KEY `holdingbranch` (`holdingbranch`),
911
  KEY `itemcallnumber` (`itemcallnumber` (191)),
912
  KEY `items_location` (`location`),
913
  KEY `items_ccode` (`ccode`),
914
  KEY `itype_idx` (`itype`),
915
  KEY `timestamp` (`timestamp`),
916
  CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
917
  CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
918
  CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
919
  CONSTRAINT `items_ibfk_4` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
920
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
850
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
851
/*!40101 SET character_set_client = @saved_cs_client */;
921
852
922
--
853
--
923
-- Table structure for table `itemtypes`
854
-- Table structure for table `auth_tag_structure`
924
--
855
--
925
856
926
DROP TABLE IF EXISTS `itemtypes`;
857
DROP TABLE IF EXISTS `auth_tag_structure`;
927
CREATE TABLE `itemtypes` ( -- defines the item types
858
/*!40101 SET @saved_cs_client     = @@character_set_client */;
928
  itemtype varchar(10) NOT NULL default '' COMMENT "unique key, a code associated with the item type",
859
/*!40101 SET character_set_client = utf8 */;
929
  parent_type varchar(10) NULL default NULL COMMENT "unique key, a code associated with the item type",
860
CREATE TABLE `auth_tag_structure` (
930
  description LONGTEXT COMMENT "a plain text explanation of the item type",
861
  `authtypecode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
931
  rentalcharge decimal(28,6) default NULL COMMENT "the amount charged when this item is checked out/issued",
862
  `tagfield` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
932
  rentalcharge_daily decimal(28,6) default NULL COMMENT "the amount charged for each day between checkout date and due date",
863
  `liblibrarian` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
933
  rentalcharge_daily_calendar tinyint(1) NOT NULL DEFAULT 1 COMMENT "controls if the daily rental fee is calculated directly or using finesCalendar",
864
  `libopac` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
934
  rentalcharge_hourly decimal(28,6) default NULL COMMENT "the amount charged for each hour between checkout date and due date",
865
  `repeatable` tinyint(4) NOT NULL DEFAULT 0,
935
  rentalcharge_hourly_calendar tinyint(1) NOT NULL DEFAULT 1 COMMENT "controls if the hourly rental fee is calculated directly or using finesCalendar",
866
  `mandatory` tinyint(4) NOT NULL DEFAULT 0,
936
  defaultreplacecost decimal(28,6) default NULL COMMENT "default replacement cost",
867
  `authorised_value` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
937
  processfee decimal(28,6) default NULL COMMENT "default text be recorded in the column note when the processing fee is applied",
868
  PRIMARY KEY (`authtypecode`,`tagfield`),
938
  notforloan smallint(6) default NULL COMMENT "1 if the item is not for loan, 0 if the item is available for loan",
869
  CONSTRAINT `auth_tag_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
939
  imageurl varchar(200) default NULL COMMENT "URL for the item type icon",
940
  summary MEDIUMTEXT COMMENT "information from the summary field, may include HTML",
941
  checkinmsg VARCHAR(255) COMMENT "message that is displayed when an item with the given item type is checked in",
942
  checkinmsgtype CHAR(16) DEFAULT 'message' NOT NULL COMMENT "type (CSS class) for the checkinmsg, can be 'alert' or 'message'",
943
  sip_media_type VARCHAR(3) DEFAULT NULL COMMENT "SIP2 protocol media type for this itemtype",
944
  hideinopac tinyint(1) NOT NULL DEFAULT 0 COMMENT "Hide the item type from the search options in OPAC",
945
  searchcategory varchar(80) default NULL COMMENT "Group this item type with others with the same value on OPAC search options",
946
  PRIMARY KEY  (`itemtype`),
947
  CONSTRAINT itemtypes_ibfk_1 FOREIGN KEY (parent_type) REFERENCES itemtypes(itemtype) ON UPDATE CASCADE ON DELETE CASCADE,
948
  UNIQUE KEY `itemtype` (`itemtype`)
949
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
870
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
871
/*!40101 SET character_set_client = @saved_cs_client */;
950
872
951
--
873
--
952
-- Table structure for table `branchtransfers`
874
-- Table structure for table `auth_types`
953
--
875
--
954
876
955
DROP TABLE IF EXISTS `branchtransfers`;
877
DROP TABLE IF EXISTS `auth_types`;
956
CREATE TABLE `branchtransfers` ( -- information for items that are in transit between branches
878
/*!40101 SET @saved_cs_client     = @@character_set_client */;
957
  `branchtransfer_id` int(12) NOT NULL auto_increment COMMENT "primary key",
879
/*!40101 SET character_set_client = utf8 */;
958
  `itemnumber` int(11) NOT NULL default 0 COMMENT "the itemnumber that it is in transit (items.itemnumber)",
880
CREATE TABLE `auth_types` (
959
  `daterequested` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT "the date the transfer was requested",
881
  `authtypecode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
960
  `datesent` datetime default NULL COMMENT "the date the transfer was initialized",
882
  `authtypetext` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
961
  `frombranch` varchar(10) NOT NULL default '' COMMENT "the branch the transfer is coming from",
883
  `auth_tag_to_report` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
962
  `datearrived` datetime default NULL COMMENT "the date the transfer arrived at its destination",
884
  `summary` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
963
  `tobranch` varchar(10) NOT NULL default '' COMMENT "the branch the transfer was going to",
885
  PRIMARY KEY (`authtypecode`)
964
  `comments` LONGTEXT COMMENT "any comments related to the transfer",
965
  `reason` ENUM('Manual', 'StockrotationAdvance', 'StockrotationRepatriation', 'ReturnToHome', 'ReturnToHolding', 'RotatingCollection', 'Reserve', 'LostReserve', 'CancelReserve') COMMENT "what triggered the transfer",
966
  PRIMARY KEY (`branchtransfer_id`),
967
  KEY `frombranch` (`frombranch`),
968
  KEY `tobranch` (`tobranch`),
969
  KEY `itemnumber` (`itemnumber`),
970
  CONSTRAINT `branchtransfers_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
971
  CONSTRAINT `branchtransfers_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
972
  CONSTRAINT `branchtransfers_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
973
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
886
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
887
/*!40101 SET character_set_client = @saved_cs_client */;
974
888
975
--
889
--
976
-- Table structure for table `creator_images`
890
-- Table structure for table `authorised_value_categories`
977
--
891
--
978
892
979
DROP TABLE IF EXISTS `creator_images`;
893
DROP TABLE IF EXISTS `authorised_value_categories`;
980
SET @saved_cs_client     = @@character_set_client;
894
/*!40101 SET @saved_cs_client     = @@character_set_client */;
981
SET character_set_client = utf8;
895
/*!40101 SET character_set_client = utf8 */;
982
CREATE TABLE `creator_images` (
896
CREATE TABLE `authorised_value_categories` (
983
  `image_id` int(4) NOT NULL AUTO_INCREMENT,
897
  `category_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
984
  `imagefile` mediumblob,
898
  `is_system` tinyint(1) DEFAULT 0,
985
  `image_name` char(20) NOT NULL DEFAULT 'DEFAULT',
899
  PRIMARY KEY (`category_name`)
986
  PRIMARY KEY (`image_id`),
987
  UNIQUE KEY `image_name_index` (`image_name`)
988
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
900
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
901
/*!40101 SET character_set_client = @saved_cs_client */;
989
902
990
--
903
--
991
-- Table structure for table `creator_layouts`
904
-- Table structure for table `authorised_values`
992
--
905
--
993
906
994
DROP TABLE IF EXISTS `creator_layouts`;
907
DROP TABLE IF EXISTS `authorised_values`;
995
SET @saved_cs_client     = @@character_set_client;
908
/*!40101 SET @saved_cs_client     = @@character_set_client */;
996
SET character_set_client = utf8;
909
/*!40101 SET character_set_client = utf8 */;
997
CREATE TABLE `creator_layouts` (
910
CREATE TABLE `authorised_values` (
998
  `layout_id` int(4) NOT NULL AUTO_INCREMENT,
911
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key, used to identify the authorized value',
999
  `barcode_type` char(100) NOT NULL DEFAULT 'CODE39',
912
  `category` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'key used to identify the authorized value category',
1000
  `start_label` int(2) NOT NULL DEFAULT '1',
913
  `authorised_value` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'code use to identify the authorized value',
1001
  `printing_type` char(32) NOT NULL DEFAULT 'BAR',
914
  `lib` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value description as printed in the staff interface',
1002
  `layout_name` char(25) NOT NULL DEFAULT 'DEFAULT',
915
  `lib_opac` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value description as printed in the OPAC',
1003
  `guidebox` int(1) DEFAULT '0',
916
  `imageurl` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value URL',
1004
  `oblique_title` int(1) DEFAULT '1',
917
  PRIMARY KEY (`id`),
1005
  `font` char(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'TR',
918
  UNIQUE KEY `av_uniq` (`category`,`authorised_value`),
1006
  `font_size` int(4) NOT NULL DEFAULT '10',
919
  KEY `name` (`category`),
1007
  `units` char(20) NOT NULL DEFAULT 'POINT',
920
  KEY `lib` (`lib`(191)),
1008
  `callnum_split` int(1) DEFAULT '0',
921
  KEY `auth_value_idx` (`authorised_value`),
1009
  `text_justify` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'L',
922
  CONSTRAINT `authorised_values_authorised_values_category` FOREIGN KEY (`category`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE CASCADE ON UPDATE CASCADE
1010
  `format_string` varchar(210) NOT NULL DEFAULT 'barcode',
923
) ENGINE=InnoDB AUTO_INCREMENT=406 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1011
  `layout_xml` MEDIUMTEXT NOT NULL,
924
/*!40101 SET character_set_client = @saved_cs_client */;
1012
  `creator` char(15) NOT NULL DEFAULT 'Labels',
1013
  PRIMARY KEY (`layout_id`)
1014
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1015
925
1016
--
926
--
1017
-- Table structure for table `creator_templates`
927
-- Table structure for table `authorised_values_branches`
1018
--
928
--
1019
929
1020
DROP TABLE IF EXISTS `creator_templates`;
930
DROP TABLE IF EXISTS `authorised_values_branches`;
1021
SET @saved_cs_client     = @@character_set_client;
931
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1022
SET character_set_client = utf8;
932
/*!40101 SET character_set_client = utf8 */;
1023
CREATE TABLE `creator_templates` (
933
CREATE TABLE `authorised_values_branches` (
1024
  `template_id` int(4) NOT NULL AUTO_INCREMENT,
934
  `av_id` int(11) NOT NULL,
1025
  `profile_id` int(4) DEFAULT NULL,
935
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
1026
  `template_code` char(100) NOT NULL DEFAULT 'DEFAULT TEMPLATE',
936
  KEY `av_id` (`av_id`),
1027
  `template_desc` char(100) NOT NULL DEFAULT 'Default description',
937
  KEY `branchcode` (`branchcode`),
1028
  `page_width` float NOT NULL DEFAULT '0',
938
  CONSTRAINT `authorised_values_branches_ibfk_1` FOREIGN KEY (`av_id`) REFERENCES `authorised_values` (`id`) ON DELETE CASCADE,
1029
  `page_height` float NOT NULL DEFAULT '0',
939
  CONSTRAINT `authorised_values_branches_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
1030
  `label_width` float NOT NULL DEFAULT '0',
1031
  `label_height` float NOT NULL DEFAULT '0',
1032
  `top_text_margin` float NOT NULL DEFAULT '0',
1033
  `left_text_margin` float NOT NULL DEFAULT '0',
1034
  `top_margin` float NOT NULL DEFAULT '0',
1035
  `left_margin` float NOT NULL DEFAULT '0',
1036
  `cols` int(2) NOT NULL DEFAULT '0',
1037
  `rows` int(2) NOT NULL DEFAULT '0',
1038
  `col_gap` float NOT NULL DEFAULT '0',
1039
  `row_gap` float NOT NULL DEFAULT '0',
1040
  `units` char(20) NOT NULL DEFAULT 'POINT',
1041
  `creator` char(15) NOT NULL DEFAULT 'Labels',
1042
  PRIMARY KEY (`template_id`),
1043
  KEY `template_profile_fk_constraint` (`profile_id`)
1044
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
940
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
941
/*!40101 SET character_set_client = @saved_cs_client */;
1045
942
1046
--
943
--
1047
-- Table structure for table `marc_subfield_structure`
944
-- Table structure for table `background_jobs`
1048
--
945
--
1049
946
1050
DROP TABLE IF EXISTS `marc_subfield_structure`;
947
DROP TABLE IF EXISTS `background_jobs`;
1051
CREATE TABLE `marc_subfield_structure` (
948
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1052
  `tagfield` varchar(3) NOT NULL default '',
949
/*!40101 SET character_set_client = utf8 */;
1053
  `tagsubfield` varchar(1) NOT NULL default '' COLLATE utf8mb4_bin,
950
CREATE TABLE `background_jobs` (
1054
  `liblibrarian` varchar(255) NOT NULL default '',
951
  `id` int(11) NOT NULL AUTO_INCREMENT,
1055
  `libopac` varchar(255) NOT NULL default '',
952
  `status` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1056
  `repeatable` tinyint(4) NOT NULL default 0,
953
  `progress` int(11) DEFAULT NULL,
1057
  `mandatory` tinyint(4) NOT NULL default 0,
954
  `size` int(11) DEFAULT NULL,
1058
  `important` tinyint(4) NOT NULL DEFAULT '0',
955
  `borrowernumber` int(11) DEFAULT NULL,
1059
  `kohafield` varchar(40) default NULL,
956
  `type` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1060
  `tab` tinyint(1) default NULL,
957
  `data` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1061
  `authorised_value` varchar(32) default NULL,
958
  `enqueued_on` datetime DEFAULT NULL,
1062
  `authtypecode` varchar(20) default NULL,
959
  `started_on` datetime DEFAULT NULL,
1063
  `value_builder` varchar(80) default NULL,
960
  `ended_on` datetime DEFAULT NULL,
1064
  `isurl` tinyint(1) default NULL,
961
  PRIMARY KEY (`id`)
1065
  `hidden` tinyint(1) NOT NULL default 8,
1066
  `frameworkcode` varchar(4) NOT NULL default '',
1067
  `seealso` varchar(1100) default NULL,
1068
  `link` varchar(80) default NULL,
1069
  `defaultvalue` MEDIUMTEXT default NULL,
1070
  `maxlength` int(4) NOT NULL DEFAULT '9999',
1071
  PRIMARY KEY  (`frameworkcode`,`tagfield`,`tagsubfield`),
1072
  KEY `kohafield_2` (`kohafield`),
1073
  KEY `tab` (`frameworkcode`,`tab`),
1074
  KEY `kohafield` (`frameworkcode`,`kohafield`),
1075
  CONSTRAINT `marc_subfield_structure_ibfk_1` FOREIGN KEY (`authorised_value`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE SET NULL ON UPDATE CASCADE
1076
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
962
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
963
/*!40101 SET character_set_client = @saved_cs_client */;
1077
964
1078
--
965
--
1079
-- Table structure for table `marc_tag_structure`
966
-- Table structure for table `biblio`
1080
--
967
--
1081
968
1082
DROP TABLE IF EXISTS `marc_tag_structure`;
969
DROP TABLE IF EXISTS `biblio`;
1083
CREATE TABLE `marc_tag_structure` (
970
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1084
  `tagfield` varchar(3) NOT NULL default '',
971
/*!40101 SET character_set_client = utf8 */;
1085
  `liblibrarian` varchar(255) NOT NULL default '',
972
CREATE TABLE `biblio` (
1086
  `libopac` varchar(255) NOT NULL default '',
973
  `biblionumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned to each bibliographic record',
1087
  `repeatable` tinyint(4) NOT NULL default 0,
974
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the biblio_framework table to identify which framework was used in cataloging this record',
1088
  `mandatory` tinyint(4) NOT NULL default 0,
975
  `author` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'statement of responsibility from MARC record (100$a in MARC21)',
1089
  `important` tinyint(4) NOT NULL DEFAULT '0',
976
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'title (without the subtitle) from the MARC record (245$a in MARC21)',
1090
  `authorised_value` varchar(10) default NULL,
977
  `medium` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'medium from the MARC record (245$h in MARC21)',
1091
  `ind1_defaultvalue` varchar(1) NOT NULL default '',
978
  `subtitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'remainder of the title from the MARC record (245$b in MARC21)',
1092
  `ind2_defaultvalue` varchar(1) NOT NULL default '',
979
  `part_number` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'part number from the MARC record (245$n in MARC21)',
1093
  `frameworkcode` varchar(4) NOT NULL default '',
980
  `part_name` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'part name from the MARC record (245$p in MARC21)',
1094
  PRIMARY KEY  (`frameworkcode`,`tagfield`)
981
  `unititle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'uniform title (without the subtitle) from the MARC record (240$a in MARC21)',
1095
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
982
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'values from the general notes field in the MARC record (500$a in MARC21) split by bar (|)',
983
  `serial` tinyint(1) DEFAULT NULL COMMENT 'Boolean indicating whether biblio is for a serial',
984
  `seriestitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
985
  `copyrightdate` smallint(6) DEFAULT NULL COMMENT 'publication or copyright date from the MARC record',
986
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this record was last touched',
987
  `datecreated` date NOT NULL COMMENT 'the date this record was added to Koha',
988
  `abstract` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'summary from the MARC record (520$a in MARC21)',
989
  PRIMARY KEY (`biblionumber`),
990
  KEY `blbnoidx` (`biblionumber`)
991
) ENGINE=InnoDB AUTO_INCREMENT=439 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
992
/*!40101 SET character_set_client = @saved_cs_client */;
1096
993
1097
--
994
--
1098
-- Table structure for table `marc_matchers`
995
-- Table structure for table `biblio_framework`
1099
--
996
--
1100
997
1101
DROP TABLE IF EXISTS `marc_matchers`;
998
DROP TABLE IF EXISTS `biblio_framework`;
1102
CREATE TABLE `marc_matchers` (
999
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1103
  `matcher_id` int(11) NOT NULL auto_increment,
1000
/*!40101 SET character_set_client = utf8 */;
1104
  `code` varchar(10) NOT NULL default '',
1001
CREATE TABLE `biblio_framework` (
1105
  `description` varchar(255) NOT NULL default '',
1002
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the unique code assigned to the framework',
1106
  `record_type` varchar(10) NOT NULL default 'biblio',
1003
  `frameworktext` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the description/name given to the framework',
1107
  `threshold` int(11) NOT NULL default 0,
1004
  PRIMARY KEY (`frameworkcode`)
1108
  PRIMARY KEY (`matcher_id`),
1109
  KEY `code` (`code`),
1110
  KEY `record_type` (`record_type`)
1111
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1005
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1006
/*!40101 SET character_set_client = @saved_cs_client */;
1112
1007
1113
--
1008
--
1114
-- Table structure for table `matchpoints`
1009
-- Table structure for table `biblio_metadata`
1115
--
1010
--
1116
DROP TABLE IF EXISTS `matchpoints`;
1117
CREATE TABLE `matchpoints` (
1118
  `matcher_id` int(11) NOT NULL,
1119
  `matchpoint_id` int(11) NOT NULL auto_increment,
1120
  `search_index` varchar(30) NOT NULL default '',
1121
  `score` int(11) NOT NULL default 0,
1122
  PRIMARY KEY (`matchpoint_id`),
1123
  CONSTRAINT `matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1124
  REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE
1125
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1126
1011
1012
DROP TABLE IF EXISTS `biblio_metadata`;
1013
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1014
/*!40101 SET character_set_client = utf8 */;
1015
CREATE TABLE `biblio_metadata` (
1016
  `id` int(11) NOT NULL AUTO_INCREMENT,
1017
  `biblionumber` int(11) NOT NULL,
1018
  `format` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
1019
  `schema` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
1020
  `metadata` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
1021
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
1022
  PRIMARY KEY (`id`),
1023
  UNIQUE KEY `biblio_metadata_uniq_key` (`biblionumber`,`format`,`schema`),
1024
  KEY `timestamp` (`timestamp`),
1025
  CONSTRAINT `record_metadata_fk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
1026
) ENGINE=InnoDB AUTO_INCREMENT=437 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1027
/*!40101 SET character_set_client = @saved_cs_client */;
1127
1028
1128
--
1029
--
1129
-- Table structure for table `matchpoint_components`
1030
-- Table structure for table `biblioitems`
1130
--
1031
--
1131
DROP TABLE IF EXISTS `matchpoint_components`;
1132
CREATE TABLE `matchpoint_components` (
1133
  `matchpoint_id` int(11) NOT NULL,
1134
  `matchpoint_component_id` int(11) NOT NULL auto_increment,
1135
  sequence int(11) NOT NULL default 0,
1136
  tag varchar(3) NOT NULL default '',
1137
  subfields varchar(40) NOT NULL default '',
1138
  offset int(4) NOT NULL default 0,
1139
  length int(4) NOT NULL default 0,
1140
  PRIMARY KEY (`matchpoint_component_id`),
1141
  KEY `by_sequence` (`matchpoint_id`, `sequence`),
1142
  CONSTRAINT `matchpoint_components_ifbk_1` FOREIGN KEY (`matchpoint_id`)
1143
  REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1144
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1145
1032
1146
--
1033
DROP TABLE IF EXISTS `biblioitems`;
1147
-- Table structure for table `matcher_component_norms`
1034
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1148
--
1035
/*!40101 SET character_set_client = utf8 */;
1149
DROP TABLE IF EXISTS `matchpoint_component_norms`;
1036
CREATE TABLE `biblioitems` (
1150
CREATE TABLE `matchpoint_component_norms` (
1037
  `biblioitemnumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key, unique identifier assigned by Koha',
1151
  `matchpoint_component_id` int(11) NOT NULL,
1038
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key linking this table to the biblio table',
1152
  `sequence`  int(11) NOT NULL default 0,
1039
  `volume` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1153
  `norm_routine` varchar(50) NOT NULL default '',
1040
  `number` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1154
  KEY `matchpoint_component_norms` (`matchpoint_component_id`, `sequence`),
1041
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'biblio level item type (MARC21 942$c)',
1155
  CONSTRAINT `matchpoint_component_norms_ifbk_1` FOREIGN KEY (`matchpoint_component_id`)
1042
  `isbn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISBN (MARC21 020$a)',
1156
  REFERENCES `matchpoint_components` (`matchpoint_component_id`) ON DELETE CASCADE ON UPDATE CASCADE
1043
  `issn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISSN (MARC21 022$a)',
1157
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1044
  `ean` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1045
  `publicationyear` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1046
  `publishercode` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publisher (MARC21 260$b)',
1047
  `volumedate` date DEFAULT NULL,
1048
  `volumedesc` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'volume information (MARC21 362$a)',
1049
  `collectiontitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1050
  `collectionissn` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1051
  `collectionvolume` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1052
  `editionstatement` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1053
  `editionresponsibility` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1054
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
1055
  `illus` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'illustrations (MARC21 300$b)',
1056
  `pages` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'number of pages (MARC21 300$c)',
1057
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1058
  `size` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'material size (MARC21 300$c)',
1059
  `place` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publication place (MARC21 260$a)',
1060
  `lccn` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'library of congress control number (MARC21 010$a)',
1061
  `url` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'url (MARC21 856$u)',
1062
  `cn_source` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'classification source (MARC21 942$2)',
1063
  `cn_class` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1064
  `cn_item` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1065
  `cn_suffix` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1066
  `cn_sort` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'normalized version of the call number used for sorting',
1067
  `agerestriction` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'target audience/age restriction from the bib record (MARC21 521$a)',
1068
  `totalissues` int(10) DEFAULT NULL,
1069
  PRIMARY KEY (`biblioitemnumber`),
1070
  KEY `bibinoidx` (`biblioitemnumber`),
1071
  KEY `bibnoidx` (`biblionumber`),
1072
  KEY `itemtype_idx` (`itemtype`),
1073
  KEY `isbn` (`isbn`(255)),
1074
  KEY `issn` (`issn`(255)),
1075
  KEY `ean` (`ean`(255)),
1076
  KEY `publishercode` (`publishercode`(191)),
1077
  KEY `timestamp` (`timestamp`),
1078
  CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
1079
) ENGINE=InnoDB AUTO_INCREMENT=439 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1080
/*!40101 SET character_set_client = @saved_cs_client */;
1158
1081
1159
--
1082
--
1160
-- Table structure for table `matcher_matchpoints`
1083
-- Table structure for table `borrower_attribute_types`
1161
--
1084
--
1162
DROP TABLE IF EXISTS `matcher_matchpoints`;
1163
CREATE TABLE `matcher_matchpoints` (
1164
  `matcher_id` int(11) NOT NULL,
1165
  `matchpoint_id` int(11) NOT NULL,
1166
  CONSTRAINT `matcher_matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1167
  REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1168
  CONSTRAINT `matcher_matchpoints_ifbk_2` FOREIGN KEY (`matchpoint_id`)
1169
  REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1170
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1171
1085
1172
--
1086
DROP TABLE IF EXISTS `borrower_attribute_types`;
1173
-- Table structure for table `matchchecks`
1087
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1174
--
1088
/*!40101 SET character_set_client = utf8 */;
1175
DROP TABLE IF EXISTS `matchchecks`;
1089
CREATE TABLE `borrower_attribute_types` (
1176
CREATE TABLE `matchchecks` (
1090
  `code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'unique key used to identify each custom field',
1177
  `matcher_id` int(11) NOT NULL,
1091
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'description for each custom field',
1178
  `matchcheck_id` int(11) NOT NULL auto_increment,
1092
  `repeatable` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines whether one patron/borrower can have multiple values for this custom field  (1 for yes, 0 for no)',
1179
  `source_matchpoint_id` int(11) NOT NULL,
1093
  `unique_id` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this value needs to be unique (1 for yes, 0 for no)',
1180
  `target_matchpoint_id` int(11) NOT NULL,
1094
  `opac_display` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this field is visible to patrons on their account in the OPAC (1 for yes, 0 for no)',
1181
  PRIMARY KEY (`matchcheck_id`),
1095
  `opac_editable` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this field is editable by patrons on their account in the OPAC (1 for yes, 0 for no)',
1182
  CONSTRAINT `matcher_matchchecks_ifbk_1` FOREIGN KEY (`matcher_id`)
1096
  `staff_searchable` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this field is searchable via the patron search in the staff interface (1 for yes, 0 for no)',
1183
  REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1097
  `authorised_value_category` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from authorised_values that links this custom field to an authorized value category',
1184
  CONSTRAINT `matcher_matchchecks_ifbk_2` FOREIGN KEY (`source_matchpoint_id`)
1098
  `display_checkout` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this field displays in checkout screens',
1185
  REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1099
  `category_code` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'defines a category for an attribute_type',
1186
  CONSTRAINT `matcher_matchchecks_ifbk_3` FOREIGN KEY (`target_matchpoint_id`)
1100
  `class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'defines a class for an attribute_type',
1187
  REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1101
  `keep_for_pseudonymization` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if this field is copied to anonymized_borrower_attributes (1 for yes, 0 for no)',
1102
  `mandatory` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'defines if the attribute is mandatory or not',
1103
  PRIMARY KEY (`code`),
1104
  KEY `auth_val_cat_idx` (`authorised_value_category`)
1188
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1105
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1106
/*!40101 SET character_set_client = @saved_cs_client */;
1189
1107
1190
--
1108
--
1191
-- Table structure for table `need_merge_authorities`
1109
-- Table structure for table `borrower_attribute_types_branches`
1192
--
1110
--
1193
1111
1194
DROP TABLE IF EXISTS `need_merge_authorities`;
1112
DROP TABLE IF EXISTS `borrower_attribute_types_branches`;
1195
CREATE TABLE `need_merge_authorities` ( -- keeping track of authority records still to be merged by merge_authority cron job
1113
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1196
  `id` int NOT NULL auto_increment PRIMARY KEY COMMENT "unique id",
1114
/*!40101 SET character_set_client = utf8 */;
1197
  `authid` bigint NOT NULL COMMENT "reference to original authority record",
1115
CREATE TABLE `borrower_attribute_types_branches` (
1198
  `authid_new` bigint COMMENT "reference to optional new authority record",
1116
  `bat_code` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1199
  `reportxml` MEDIUMTEXT COMMENT "xml showing original reporting tag",
1117
  `b_branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1200
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "date and time last modified",
1118
  KEY `bat_code` (`bat_code`),
1201
  `done` tinyint DEFAULT 0  -- indication whether merge has been executed (0=not done, 1=done, 2=in progress)
1119
  KEY `b_branchcode` (`b_branchcode`),
1202
-- Note: authid and authid_new should NOT be FOREIGN keys !
1120
  CONSTRAINT `borrower_attribute_types_branches_ibfk_1` FOREIGN KEY (`bat_code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE,
1203
-- authid may have been deleted; authid_new may be zero
1121
  CONSTRAINT `borrower_attribute_types_branches_ibfk_2` FOREIGN KEY (`b_branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
1204
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1122
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1123
/*!40101 SET character_set_client = @saved_cs_client */;
1205
1124
1206
--
1125
--
1207
-- Table structure for table `oai_sets`
1126
-- Table structure for table `borrower_attributes`
1208
--
1127
--
1209
1128
1210
DROP TABLE IF EXISTS `oai_sets`;
1129
DROP TABLE IF EXISTS `borrower_attributes`;
1211
CREATE TABLE `oai_sets` (
1130
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1212
  `id` int(11) NOT NULL auto_increment,
1131
/*!40101 SET character_set_client = utf8 */;
1213
  `spec` varchar(80) NOT NULL UNIQUE,
1132
CREATE TABLE `borrower_attributes` (
1214
  `name` varchar(80) NOT NULL,
1133
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Row id field',
1215
  PRIMARY KEY (`id`)
1134
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key from the borrowers table, defines which patron/borrower has this attribute',
1135
  `code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'foreign key from the borrower_attribute_types table, defines which custom field this value was entered for',
1136
  `attribute` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'custom patron field value',
1137
  PRIMARY KEY (`id`),
1138
  KEY `borrowernumber` (`borrowernumber`),
1139
  KEY `code_attribute` (`code`,`attribute`(191)),
1140
  CONSTRAINT `borrower_attributes_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1141
  CONSTRAINT `borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE
1216
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1142
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1143
/*!40101 SET character_set_client = @saved_cs_client */;
1217
1144
1218
--
1145
--
1219
-- Table structure for table `oai_sets_descriptions`
1146
-- Table structure for table `borrower_debarments`
1220
--
1147
--
1221
1148
1222
DROP TABLE IF EXISTS `oai_sets_descriptions`;
1149
DROP TABLE IF EXISTS `borrower_debarments`;
1223
CREATE TABLE `oai_sets_descriptions` (
1150
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1224
  `set_id` int(11) NOT NULL,
1151
/*!40101 SET character_set_client = utf8 */;
1225
  `description` varchar(255) NOT NULL,
1152
CREATE TABLE `borrower_debarments` (
1226
  CONSTRAINT `oai_sets_descriptions_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1153
  `borrower_debarment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the restriction',
1154
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key for borrowers.borrowernumber for patron who is restricted',
1155
  `expiration` date DEFAULT NULL COMMENT 'expiration date of the restriction',
1156
  `type` enum('SUSPENSION','OVERDUES','MANUAL','DISCHARGE') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'MANUAL' COMMENT 'type of restriction',
1157
  `comment` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comments about the restriction',
1158
  `manager_id` int(11) DEFAULT NULL COMMENT 'foreign key for borrowers.borrowernumber for the librarian managing the restriction',
1159
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date the restriction was added',
1160
  `updated` timestamp NULL DEFAULT NULL COMMENT 'date the restriction was updated',
1161
  PRIMARY KEY (`borrower_debarment_id`),
1162
  KEY `borrowernumber` (`borrowernumber`),
1163
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1227
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1164
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1165
/*!40101 SET character_set_client = @saved_cs_client */;
1228
1166
1229
--
1167
--
1230
-- Table structure for table `oai_sets_mappings`
1168
-- Table structure for table `borrower_files`
1231
--
1169
--
1232
1170
1233
DROP TABLE IF EXISTS `oai_sets_mappings`;
1171
DROP TABLE IF EXISTS `borrower_files`;
1234
CREATE TABLE `oai_sets_mappings` (
1172
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1235
  `set_id` int(11) NOT NULL,
1173
/*!40101 SET character_set_client = utf8 */;
1236
  `rule_order` int NULL,
1174
CREATE TABLE `borrower_files` (
1237
  `rule_operator` varchar(3) NULL,
1175
  `file_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key',
1238
  `marcfield` char(3) NOT NULL,
1176
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key linking to the patron via the borrowernumber',
1239
  `marcsubfield` char(1) NOT NULL,
1177
  `file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'file name',
1240
  `operator` varchar(8) NOT NULL default 'equal',
1178
  `file_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'type of file',
1241
  `marcvalue` varchar(80) NOT NULL,
1179
  `file_description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'description given to the file',
1242
  CONSTRAINT `oai_sets_mappings_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1180
  `file_content` longblob NOT NULL COMMENT 'the file',
1181
  `date_uploaded` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'date and time the file was added',
1182
  PRIMARY KEY (`file_id`),
1183
  KEY `borrowernumber` (`borrowernumber`),
1184
  CONSTRAINT `borrower_files_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1243
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1185
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1186
/*!40101 SET character_set_client = @saved_cs_client */;
1244
1187
1245
--
1188
--
1246
-- Table structure for table `oai_sets_biblios`
1189
-- Table structure for table `borrower_message_preferences`
1247
--
1190
--
1248
1191
1249
DROP TABLE IF EXISTS `oai_sets_biblios`;
1192
DROP TABLE IF EXISTS `borrower_message_preferences`;
1250
CREATE TABLE `oai_sets_biblios` (
1193
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1251
  `biblionumber` int(11) NOT NULL,
1194
/*!40101 SET character_set_client = utf8 */;
1252
  `set_id` int(11) NOT NULL,
1195
CREATE TABLE `borrower_message_preferences` (
1253
  PRIMARY KEY (`biblionumber`, `set_id`),
1196
  `borrower_message_preference_id` int(11) NOT NULL AUTO_INCREMENT,
1254
  CONSTRAINT `oai_sets_biblios_ibfk_2` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1197
  `borrowernumber` int(11) DEFAULT NULL,
1198
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1199
  `message_attribute_id` int(11) DEFAULT 0,
1200
  `days_in_advance` int(11) DEFAULT 0,
1201
  `wants_digest` tinyint(1) NOT NULL DEFAULT 0,
1202
  PRIMARY KEY (`borrower_message_preference_id`),
1203
  KEY `borrowernumber` (`borrowernumber`),
1204
  KEY `categorycode` (`categorycode`),
1205
  KEY `message_attribute_id` (`message_attribute_id`),
1206
  CONSTRAINT `borrower_message_preferences_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1207
  CONSTRAINT `borrower_message_preferences_ibfk_2` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1208
  CONSTRAINT `borrower_message_preferences_ibfk_3` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE
1255
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1209
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1210
/*!40101 SET character_set_client = @saved_cs_client */;
1256
1211
1257
--
1212
--
1258
-- Table structure for table `overduerules`
1213
-- Table structure for table `borrower_message_transport_preferences`
1259
--
1214
--
1260
1215
1261
DROP TABLE IF EXISTS `overduerules`;
1216
DROP TABLE IF EXISTS `borrower_message_transport_preferences`;
1262
CREATE TABLE `overduerules` ( -- overdue notice status and triggers
1217
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1263
  `overduerules_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique identifier for the overduerules",
1218
/*!40101 SET character_set_client = utf8 */;
1264
  `branchcode` varchar(10) NOT NULL default '' COMMENT "foreign key from the branches table to define which branch this rule is for (if blank it's all libraries)",
1219
CREATE TABLE `borrower_message_transport_preferences` (
1265
  `categorycode` varchar(10) NOT NULL default '' COMMENT "foreign key from the categories table to define which patron category this rule is for",
1220
  `borrower_message_preference_id` int(11) NOT NULL DEFAULT 0,
1266
  `delay1` int(4) default NULL COMMENT "number of days after the item is overdue that the first notice is sent",
1221
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
1267
  `letter1` varchar(20) default NULL COMMENT "foreign key from the letter table to define which notice should be sent as the first notice",
1222
  PRIMARY KEY (`borrower_message_preference_id`,`message_transport_type`),
1268
  `debarred1` varchar(1) default 0 COMMENT "is the patron restricted when the first notice is sent (1 for yes, 0 for no)",
1223
  KEY `message_transport_type` (`message_transport_type`),
1269
  `delay2` int(4) default NULL COMMENT "number of days after the item is overdue that the second notice is sent",
1224
  CONSTRAINT `borrower_message_transport_preferences_ibfk_1` FOREIGN KEY (`borrower_message_preference_id`) REFERENCES `borrower_message_preferences` (`borrower_message_preference_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1270
  `debarred2` varchar(1) default 0 COMMENT "is the patron restricted when the second notice is sent (1 for yes, 0 for no)",
1225
  CONSTRAINT `borrower_message_transport_preferences_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
1271
  `letter2` varchar(20) default NULL COMMENT "foreign key from the letter table to define which notice should be sent as the second notice",
1272
  `delay3` int(4) default NULL COMMENT "number of days after the item is overdue that the third notice is sent",
1273
  `letter3` varchar(20) default NULL COMMENT "foreign key from the letter table to define which notice should be sent as the third notice",
1274
  `debarred3` int(1) default 0 COMMENT "is the patron restricted when the third notice is sent (1 for yes, 0 for no)",
1275
  PRIMARY KEY  (`overduerules_id`),
1276
  UNIQUE KEY `overduerules_branch_cat` (`branchcode`,`categorycode`)
1277
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1226
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1227
/*!40101 SET character_set_client = @saved_cs_client */;
1278
1228
1279
-- Table structure for table `pending_offline_operations`
1280
--
1229
--
1281
-- this table is MyISAM, InnoDB tables are growing only and this table is filled/emptied/filled/emptied...
1230
-- Table structure for table `borrower_modifications`
1282
-- so MyISAM is better in this case
1283
1284
DROP TABLE IF EXISTS `pending_offline_operations`;
1285
CREATE TABLE pending_offline_operations (
1286
  operationid int(11) NOT NULL AUTO_INCREMENT,
1287
  userid varchar(30) NOT NULL,
1288
  branchcode varchar(10) NOT NULL,
1289
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
1290
  `action` varchar(10) NOT NULL,
1291
  barcode varchar(20) DEFAULT NULL,
1292
  cardnumber varchar(32) DEFAULT NULL,
1293
  amount decimal(28,6) DEFAULT NULL,
1294
  PRIMARY KEY (operationid)
1295
) ENGINE=MyISAM  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1296
1297
--
1298
-- Table structure for table `printers_profile`
1299
--
1231
--
1300
1232
1301
DROP TABLE IF EXISTS `printers_profile`;
1233
DROP TABLE IF EXISTS `borrower_modifications`;
1302
CREATE TABLE `printers_profile` (
1234
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1303
  `profile_id` int(4) NOT NULL auto_increment,
1235
/*!40101 SET character_set_client = utf8 */;
1304
  `printer_name` varchar(40) NOT NULL default 'Default Printer',
1236
CREATE TABLE `borrower_modifications` (
1305
  `template_id` int(4) NOT NULL default '0',
1237
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
1306
  `paper_bin` varchar(20) NOT NULL default 'Bypass',
1238
  `verification_token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1307
  `offset_horz` float NOT NULL default '0',
1239
  `changed_fields` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1308
  `offset_vert` float NOT NULL default '0',
1240
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
1309
  `creep_horz` float NOT NULL default '0',
1241
  `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1310
  `creep_vert` float NOT NULL default '0',
1242
  `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1311
  `units` char(20) NOT NULL default 'POINT',
1243
  `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1312
  `creator` char(15) NOT NULL DEFAULT 'Labels',
1244
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1313
  PRIMARY KEY  (`profile_id`),
1245
  `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1314
  UNIQUE KEY `printername` (`printer_name`,`template_id`,`paper_bin`,`creator`)
1246
  `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1247
  `streetnumber` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1248
  `streettype` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1249
  `address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1250
  `address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1251
  `city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1252
  `state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1253
  `zipcode` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1254
  `country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1255
  `email` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1256
  `phone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1257
  `mobile` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1258
  `fax` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1259
  `emailpro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1260
  `phonepro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1261
  `B_streetnumber` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1262
  `B_streettype` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1263
  `B_address` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1264
  `B_address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1265
  `B_city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1266
  `B_state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1267
  `B_zipcode` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1268
  `B_country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1269
  `B_email` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1270
  `B_phone` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1271
  `dateofbirth` date DEFAULT NULL,
1272
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1273
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1274
  `dateenrolled` date DEFAULT NULL,
1275
  `dateexpiry` date DEFAULT NULL,
1276
  `date_renewed` date DEFAULT NULL,
1277
  `gonenoaddress` tinyint(1) DEFAULT NULL,
1278
  `lost` tinyint(1) DEFAULT NULL,
1279
  `debarred` date DEFAULT NULL,
1280
  `debarredcomment` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1281
  `contactname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1282
  `contactfirstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1283
  `contacttitle` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1284
  `borrowernotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1285
  `relationship` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1286
  `sex` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1287
  `password` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1288
  `flags` int(11) DEFAULT NULL,
1289
  `userid` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1290
  `opacnote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1291
  `contactnote` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1292
  `sort1` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1293
  `sort2` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1294
  `altcontactfirstname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1295
  `altcontactsurname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1296
  `altcontactaddress1` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1297
  `altcontactaddress2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1298
  `altcontactaddress3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1299
  `altcontactstate` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1300
  `altcontactzipcode` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1301
  `altcontactcountry` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1302
  `altcontactphone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1303
  `smsalertnumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1304
  `privacy` int(11) DEFAULT NULL,
1305
  `extended_attributes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1306
  `gdpr_proc_consent` datetime DEFAULT NULL COMMENT 'data processing consent',
1307
  PRIMARY KEY (`verification_token`(191),`borrowernumber`),
1308
  KEY `verification_token` (`verification_token`(191)),
1309
  KEY `borrowernumber` (`borrowernumber`)
1315
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1310
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1311
/*!40101 SET character_set_client = @saved_cs_client */;
1316
1312
1317
--
1313
--
1318
-- Table structure for table `repeatable_holidays`
1314
-- Table structure for table `borrower_password_recovery`
1319
--
1315
--
1320
1316
1321
DROP TABLE IF EXISTS `repeatable_holidays`;
1317
DROP TABLE IF EXISTS `borrower_password_recovery`;
1322
CREATE TABLE `repeatable_holidays` ( -- information for the days the library is closed
1318
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1323
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
1319
/*!40101 SET character_set_client = utf8 */;
1324
  `branchcode` varchar(10) NOT NULL COMMENT "foreign key from the branches table, defines which branch this closing is for",
1320
CREATE TABLE `borrower_password_recovery` (
1325
  `weekday` smallint(6) default NULL COMMENT "day of the week (0=Sunday, 1=Monday, etc) this closing is repeated on",
1321
  `borrowernumber` int(11) NOT NULL COMMENT 'the user asking a password recovery',
1326
  `day` smallint(6) default NULL COMMENT "day of the month this closing is on",
1322
  `uuid` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'a unique string to identify a password recovery attempt',
1327
  `month` smallint(6) default NULL COMMENT "month this closing is in",
1323
  `valid_until` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'a time limit on the password recovery attempt',
1328
  `title` varchar(50) NOT NULL default '' COMMENT "title of this closing",
1324
  PRIMARY KEY (`borrowernumber`),
1329
  `description` MEDIUMTEXT NOT NULL COMMENT "description for this closing",
1325
  KEY `borrowernumber` (`borrowernumber`)
1330
  PRIMARY KEY  (`id`),
1331
  CONSTRAINT `repeatable_holidays_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1332
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1326
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1327
/*!40101 SET character_set_client = @saved_cs_client */;
1333
1328
1334
--
1329
--
1335
-- Table structure for table `reports_dictionary`
1330
-- Table structure for table `borrower_relationships`
1336
--
1331
--
1337
1332
1338
DROP TABLE IF EXISTS `reports_dictionary`;
1333
DROP TABLE IF EXISTS `borrower_relationships`;
1339
CREATE TABLE reports_dictionary ( -- definitions (or snippets of SQL) stored for use in reports
1334
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1340
   `id` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
1335
/*!40101 SET character_set_client = utf8 */;
1341
   `name` varchar(255) default NULL COMMENT "name for this definition",
1336
CREATE TABLE `borrower_relationships` (
1342
   `description` MEDIUMTEXT COMMENT "description for this definition",
1337
  `id` int(11) NOT NULL AUTO_INCREMENT,
1343
   `date_created` datetime default NULL COMMENT "date and time this definition was created",
1338
  `guarantor_id` int(11) DEFAULT NULL,
1344
   `date_modified` datetime default NULL COMMENT "date and time this definition was last modified",
1339
  `guarantee_id` int(11) NOT NULL,
1345
   `saved_sql` MEDIUMTEXT COMMENT "SQL snippet for us in reports",
1340
  `relationship` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
1346
   report_area varchar(6) DEFAULT NULL COMMENT "Koha module this definition is for Circulation, Catalog, Patrons, Acquistions, Accounts)",
1341
  PRIMARY KEY (`id`),
1347
   PRIMARY KEY  (id),
1342
  UNIQUE KEY `guarantor_guarantee_idx` (`guarantor_id`,`guarantee_id`),
1348
   KEY dictionary_area_idx (report_area)
1343
  KEY `r_guarantee` (`guarantee_id`),
1344
  CONSTRAINT `r_guarantee` FOREIGN KEY (`guarantee_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1345
  CONSTRAINT `r_guarantor` FOREIGN KEY (`guarantor_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1349
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1346
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1347
/*!40101 SET character_set_client = @saved_cs_client */;
1350
1348
1351
--
1349
--
1352
-- Table structure for table `saved_sql`
1350
-- Table structure for table `borrowers`
1353
--
1351
--
1354
1352
1355
DROP TABLE IF EXISTS `saved_sql`;
1353
DROP TABLE IF EXISTS `borrowers`;
1356
CREATE TABLE saved_sql ( -- saved sql reports
1354
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1357
   `id` int(11) NOT NULL auto_increment COMMENT "unique id and primary key assigned by Koha",
1355
/*!40101 SET character_set_client = utf8 */;
1358
   `borrowernumber` int(11) default NULL COMMENT "the staff member who created this report (borrowers.borrowernumber)",
1356
CREATE TABLE `borrowers` (
1359
   `date_created` datetime default NULL COMMENT "the date this report was created",
1357
  `borrowernumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key, Koha assigned ID number for patrons/borrowers',
1360
   `last_modified` datetime default NULL COMMENT "the date this report was last edited",
1358
  `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unique key, library assigned ID number for patrons/borrowers',
1361
   `savedsql` MEDIUMTEXT COMMENT "the SQL for this report",
1359
  `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s last name (surname)',
1362
   `last_run` datetime default NULL,
1360
  `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s first name',
1363
   `report_name` varchar(255) NOT NULL default '' COMMENT "the name of this report",
1361
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s title, for example: Mr. or Mrs.',
1364
   `type` varchar(255) default NULL COMMENT "always 1 for tabular",
1362
  `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any other names associated with the patron/borrower',
1365
   `notes` MEDIUMTEXT COMMENT "the notes or description given to this report",
1363
  `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'initials for your patron/borrower',
1366
   `cache_expiry` int NOT NULL default 300,
1364
  `streetnumber` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the house number for your patron/borrower''s primary address',
1367
   `public` tinyint(1) NOT NULL default FALSE,
1365
  `streettype` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the street type (Rd., Blvd, etc) for your patron/borrower''s primary address',
1368
    report_area varchar(6) default NULL,
1366
  `address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for your patron/borrower''s primary address',
1369
    report_group varchar(80) default NULL,
1367
  `address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for your patron/borrower''s primary address',
1370
    report_subgroup varchar(80) default NULL,
1368
  `city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city or town for your patron/borrower''s primary address',
1371
    `mana_id` int(11) NULL DEFAULT NULL,
1369
  `state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state or province for your patron/borrower''s primary address',
1372
   PRIMARY KEY  (`id`),
1370
  `zipcode` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zip or postal code for your patron/borrower''s primary address',
1373
   KEY sql_area_group_idx (report_group, report_subgroup),
1371
  `country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for your patron/borrower''s primary address',
1374
   KEY boridx (`borrowernumber`)
1372
  `email` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary email address for your patron/borrower''s primary address',
1375
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1373
  `phone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary phone number for your patron/borrower''s primary address',
1376
1374
  `mobile` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the other phone number for your patron/borrower''s primary address',
1375
  `fax` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the fax number for your patron/borrower''s primary address',
1376
  `emailpro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the secondary email addres for your patron/borrower''s primary address',
1377
  `phonepro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the secondary phone number for your patron/borrower''s primary address',
1378
  `B_streetnumber` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the house number for your patron/borrower''s alternate address',
1379
  `B_streettype` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the street type (Rd., Blvd, etc) for your patron/borrower''s alternate address',
1380
  `B_address` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for your patron/borrower''s alternate address',
1381
  `B_address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for your patron/borrower''s alternate address',
1382
  `B_city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city or town for your patron/borrower''s alternate address',
1383
  `B_state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state for your patron/borrower''s alternate address',
1384
  `B_zipcode` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zip or postal code for your patron/borrower''s alternate address',
1385
  `B_country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for your patron/borrower''s alternate address',
1386
  `B_email` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the patron/borrower''s alternate email address',
1387
  `B_phone` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the patron/borrower''s alternate phone number',
1388
  `dateofbirth` date DEFAULT NULL COMMENT 'the patron/borrower''s date of birth (YYYY-MM-DD)',
1389
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the branches table, includes the code of the patron/borrower''s home branch',
1390
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the categories table, includes the code of the patron category',
1391
  `dateenrolled` date DEFAULT NULL COMMENT 'date the patron was added to Koha (YYYY-MM-DD)',
1392
  `dateexpiry` date DEFAULT NULL COMMENT 'date the patron/borrower''s card is set to expire (YYYY-MM-DD)',
1393
  `date_renewed` date DEFAULT NULL COMMENT 'date the patron/borrower''s card was last renewed',
1394
  `gonenoaddress` tinyint(1) DEFAULT NULL COMMENT 'set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having an unconfirmed address',
1395
  `lost` tinyint(1) DEFAULT NULL COMMENT 'set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having lost their card',
1396
  `debarred` date DEFAULT NULL COMMENT 'until this date the patron can only check-in (no loans, no holds, etc.), is a fine based on days instead of money (YYYY-MM-DD)',
1397
  `debarredcomment` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comment on the stop of the patron',
1398
  `contactname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children and profesionals to include surname or last name of guarantor or organization name',
1399
  `contactfirstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include first name of guarantor',
1400
  `contacttitle` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include title (Mr., Mrs., etc) of guarantor',
1401
  `borrowernotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note on the patron/borrower''s account that is only visible in the staff interface',
1402
  `relationship` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include the relationship to their guarantor',
1403
  `sex` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s gender',
1404
  `password` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s Bcrypt encrypted password',
1405
  `flags` int(11) DEFAULT NULL COMMENT 'will include a number associated with the staff member''s permissions',
1406
  `userid` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s opac and/or staff interface log in',
1407
  `opacnote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note on the patron/borrower''s account that is visible in the OPAC and staff interface',
1408
  `contactnote` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note related to the patron/borrower''s alternate address',
1409
  `sort1` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a field that can be used for any information unique to the library',
1410
  `sort2` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a field that can be used for any information unique to the library',
1411
  `altcontactfirstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'first name of alternate contact for the patron/borrower',
1412
  `altcontactsurname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'surname or last name of the alternate contact for the patron/borrower',
1413
  `altcontactaddress1` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for the alternate contact for the patron/borrower',
1414
  `altcontactaddress2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for the alternate contact for the patron/borrower',
1415
  `altcontactaddress3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city for the alternate contact for the patron/borrower',
1416
  `altcontactstate` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state for the alternate contact for the patron/borrower',
1417
  `altcontactzipcode` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zipcode for the alternate contact for the patron/borrower',
1418
  `altcontactcountry` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for the alternate contact for the patron/borrower',
1419
  `altcontactphone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the phone number for the alternate contact for the patron/borrower',
1420
  `smsalertnumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the mobile phone number where the patron/borrower would like to receive notices (if SMS turned on)',
1421
  `sms_provider_id` int(11) DEFAULT NULL COMMENT 'the provider of the mobile phone number defined in smsalertnumber',
1422
  `privacy` int(11) NOT NULL DEFAULT 1 COMMENT 'patron/borrower''s privacy settings related to their checkout history',
1423
  `privacy_guarantor_fines` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'controls if relatives can see this patron''s fines',
1424
  `privacy_guarantor_checkouts` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'controls if relatives can see this patron''s checkouts',
1425
  `checkprevcheckout` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'inherit' COMMENT 'produce a warning for this patron if this item has previously been checked out to this patron if ''yes'', not if ''no'', defer to category setting if ''inherit''.',
1426
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'time of last change could be useful for synchronization with external systems (among others)',
1427
  `lastseen` datetime DEFAULT NULL COMMENT 'last time a patron has been seen (connected at the OPAC or staff interface)',
1428
  `lang` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'lang to use to send notices to this patron',
1429
  `login_attempts` int(4) NOT NULL DEFAULT 0 COMMENT 'number of failed login attemps',
1430
  `overdrive_auth_token` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'persist OverDrive auth token',
1431
  `anonymized` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'flag for data anonymization',
1432
  `autorenew_checkouts` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'flag for allowing auto-renewal',
1433
  PRIMARY KEY (`borrowernumber`),
1434
  UNIQUE KEY `cardnumber` (`cardnumber`),
1435
  UNIQUE KEY `userid` (`userid`),
1436
  KEY `categorycode` (`categorycode`),
1437
  KEY `branchcode` (`branchcode`),
1438
  KEY `surname_idx` (`surname`(191)),
1439
  KEY `firstname_idx` (`firstname`(191)),
1440
  KEY `othernames_idx` (`othernames`(191)),
1441
  KEY `sms_provider_id` (`sms_provider_id`),
1442
  CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
1443
  CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`),
1444
  CONSTRAINT `borrowers_ibfk_3` FOREIGN KEY (`sms_provider_id`) REFERENCES `sms_providers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
1445
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1446
/*!40101 SET character_set_client = @saved_cs_client */;
1377
1447
1378
--
1448
--
1379
-- Table structure for `saved_reports`
1449
-- Table structure for table `branch_transfer_limits`
1380
--
1450
--
1381
1451
1382
DROP TABLE IF EXISTS `saved_reports`;
1452
DROP TABLE IF EXISTS `branch_transfer_limits`;
1383
CREATE TABLE saved_reports (
1453
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1384
   `id` int(11) NOT NULL auto_increment,
1454
/*!40101 SET character_set_client = utf8 */;
1385
   `report_id` int(11) default NULL,
1455
CREATE TABLE `branch_transfer_limits` (
1386
   `report` LONGTEXT,
1456
  `limitId` int(8) NOT NULL AUTO_INCREMENT,
1387
   `date_run` datetime default NULL,
1457
  `toBranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
1388
   PRIMARY KEY (`id`)
1458
  `fromBranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
1459
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1460
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1461
  PRIMARY KEY (`limitId`)
1389
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1462
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1463
/*!40101 SET character_set_client = @saved_cs_client */;
1390
1464
1391
--
1465
--
1392
-- Table structure for table 'search_field'
1466
-- Table structure for table `branches`
1393
--
1467
--
1394
1468
1395
DROP TABLE IF EXISTS search_field;
1469
DROP TABLE IF EXISTS `branches`;
1396
CREATE TABLE `search_field` (
1470
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1397
  `id` int(11) NOT NULL AUTO_INCREMENT,
1471
/*!40101 SET character_set_client = utf8 */;
1398
  `name` varchar(255) NOT NULL COMMENT 'the name of the field as it will be stored in the search engine',
1472
CREATE TABLE `branches` (
1399
  `label` varchar(255) NOT NULL COMMENT 'the human readable name of the field, for display',
1473
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'a unique key assigned to each branch',
1400
  `type` ENUM('', 'string', 'date', 'number', 'boolean', 'sum', 'isbn', 'stdno') NOT NULL COMMENT 'what type of data this holds, relevant when storing it in the search engine',
1474
  `branchname` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the name of your library or branch',
1401
  `weight` decimal(5,2) DEFAULT NULL,
1475
  `branchaddress1` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line of for your library or branch',
1402
  `facet_order` TINYINT(4) DEFAULT NULL COMMENT 'the order place of the field in facet list if faceted',
1476
  `branchaddress2` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line of for your library or branch',
1403
  `staff_client` tinyint(1) NOT NULL DEFAULT 1,
1477
  `branchaddress3` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the third address line of for your library or branch',
1404
  `opac` tinyint(1) NOT NULL DEFAULT 1,
1478
  `branchzip` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zip or postal code for your library or branch',
1405
  `mandatory` tinyint(1) NULL DEFAULT NULL COMMENT 'if marked this field is not editable or removable',
1479
  `branchcity` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city or province for your library or branch',
1406
  PRIMARY KEY (`id`),
1480
  `branchstate` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state for your library or branch',
1407
  UNIQUE KEY (`name` (191))
1481
  `branchcountry` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the county for your library or branch',
1482
  `branchphone` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary phone for your library or branch',
1483
  `branchfax` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the fax number for your library or branch',
1484
  `branchemail` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary email address for your library or branch',
1485
  `branchillemail` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the ILL staff email address for your library or branch',
1486
  `branchreplyto` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the email to be used as a Reply-To',
1487
  `branchreturnpath` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the email to be used as Return-Path',
1488
  `branchurl` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the URL for your library or branch''s website',
1489
  `issuing` tinyint(4) DEFAULT NULL COMMENT 'unused in Koha',
1490
  `branchip` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the IP address for your library or branch',
1491
  `branchnotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to your library or branch',
1492
  `opac_info` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'HTML that displays in OPAC',
1493
  `geolocation` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'geolocation of your library',
1494
  `marcorgcode` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'MARC Organization Code, see http://www.loc.gov/marc/organizations/orgshome.html, when empty defaults to syspref MARCOrgCode',
1495
  `pickup_location` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'the ability to act as a pickup location',
1496
  PRIMARY KEY (`branchcode`)
1408
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1497
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1498
/*!40101 SET character_set_client = @saved_cs_client */;
1409
1499
1410
--
1500
--
1411
-- Table structure for table `search_history`
1501
-- Table structure for table `branches_overdrive`
1412
--
1413
1414
DROP TABLE IF EXISTS `search_history`;
1415
CREATE TABLE IF NOT EXISTS `search_history` ( -- patron's opac search history
1416
  `id` int(11) NOT NULL auto_increment COMMENT "search history id",
1417
  `userid` int(11) NOT NULL COMMENT "the patron who performed the search (borrowers.borrowernumber)",
1418
  `sessionid` varchar(32) NOT NULL COMMENT "a system generated session id",
1419
  `query_desc` varchar(255) NOT NULL COMMENT "the search that was performed",
1420
  `query_cgi` MEDIUMTEXT NOT NULL COMMENT "the string to append to the search url to rerun the search",
1421
  `type` varchar(16) NOT NULL DEFAULT 'biblio' COMMENT "search type, must be 'biblio' or 'authority'",
1422
  `total` int(11) NOT NULL COMMENT "the total of results found",
1423
  `time` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT "the date and time the search was run",
1424
  KEY `userid` (`userid`),
1425
  KEY `sessionid` (`sessionid`),
1426
  PRIMARY KEY (`id`)
1427
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Opac search history results';
1428
1429
--
1430
-- Table structure for table 'search_marc_map'
1431
--
1502
--
1432
1503
1433
DROP TABLE IF EXISTS search_marc_map;
1504
DROP TABLE IF EXISTS `branches_overdrive`;
1434
CREATE TABLE `search_marc_map` (
1505
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1435
  id int(11) NOT NULL AUTO_INCREMENT,
1506
/*!40101 SET character_set_client = utf8 */;
1436
  index_name ENUM('biblios','authorities') NOT NULL COMMENT 'what storage index this map is for',
1507
CREATE TABLE `branches_overdrive` (
1437
  marc_type ENUM('marc21', 'unimarc', 'normarc') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'what MARC type this map is for',
1508
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
1438
  marc_field VARCHAR(255) NOT NULL COLLATE utf8mb4_bin COMMENT 'the MARC specifier for this field',
1509
  `authname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
1439
  PRIMARY KEY(`id`),
1510
  PRIMARY KEY (`branchcode`),
1440
  UNIQUE key `index_name` (`index_name`, `marc_field` (191), `marc_type`),
1511
  CONSTRAINT `branches_overdrive_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1441
  INDEX (`index_name`)
1442
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1512
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1513
/*!40101 SET character_set_client = @saved_cs_client */;
1443
1514
1444
--
1515
--
1445
-- Table structure for table 'search_marc_to_field'
1516
-- Table structure for table `branchtransfers`
1446
--
1517
--
1447
1518
1448
DROP TABLE IF EXISTS search_marc_to_field;
1519
DROP TABLE IF EXISTS `branchtransfers`;
1449
CREATE TABLE `search_marc_to_field` (
1520
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1450
  search tinyint(1) NOT NULL DEFAULT 1,
1521
/*!40101 SET character_set_client = utf8 */;
1451
  search_marc_map_id int(11) NOT NULL,
1522
CREATE TABLE `branchtransfers` (
1452
  search_field_id int(11) NOT NULL,
1523
  `branchtransfer_id` int(12) NOT NULL AUTO_INCREMENT COMMENT 'primary key',
1453
  facet tinyint(1) DEFAULT FALSE COMMENT 'true if a facet field should be generated for this',
1524
  `itemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'the itemnumber that it is in transit (items.itemnumber)',
1454
  suggestible tinyint(1) DEFAULT FALSE COMMENT 'true if this field can be used to generate suggestions for browse',
1525
  `daterequested` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'the date the transfer was requested',
1455
  sort tinyint(1) DEFAULT NULL COMMENT 'true/false creates special sort handling, null doesn''t',
1526
  `datesent` datetime DEFAULT NULL COMMENT 'the date the transfer was initialized',
1456
  PRIMARY KEY(search_marc_map_id, search_field_id),
1527
  `frombranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch the transfer is coming from',
1457
  FOREIGN KEY(search_marc_map_id) REFERENCES search_marc_map(id) ON DELETE CASCADE ON UPDATE CASCADE,
1528
  `datearrived` datetime DEFAULT NULL COMMENT 'the date the transfer arrived at its destination',
1458
  FOREIGN KEY(search_field_id) REFERENCES search_field(id) ON DELETE CASCADE ON UPDATE CASCADE
1529
  `tobranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch the transfer was going to',
1530
  `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments related to the transfer',
1531
  `reason` enum('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer',
1532
  PRIMARY KEY (`branchtransfer_id`),
1533
  KEY `frombranch` (`frombranch`),
1534
  KEY `tobranch` (`tobranch`),
1535
  KEY `itemnumber` (`itemnumber`),
1536
  CONSTRAINT `branchtransfers_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
1537
  CONSTRAINT `branchtransfers_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
1538
  CONSTRAINT `branchtransfers_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
1459
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1539
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1540
/*!40101 SET character_set_client = @saved_cs_client */;
1460
1541
1461
--
1542
--
1462
-- Table structure for table `sessions`
1543
-- Table structure for table `browser`
1463
--
1544
--
1464
1545
1465
DROP TABLE IF EXISTS sessions;
1546
DROP TABLE IF EXISTS `browser`;
1466
CREATE TABLE sessions (
1547
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1467
  `id` varchar(32) NOT NULL,
1548
/*!40101 SET character_set_client = utf8 */;
1468
  `a_session` LONGTEXT NOT NULL,
1549
CREATE TABLE `browser` (
1469
  PRIMARY KEY (`id`)
1550
  `level` int(11) NOT NULL,
1551
  `classification` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
1552
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
1553
  `number` bigint(20) NOT NULL,
1554
  `endnode` tinyint(4) NOT NULL
1470
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1555
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1556
/*!40101 SET character_set_client = @saved_cs_client */;
1471
1557
1472
--
1558
--
1473
-- Table structure for table `sms_providers`
1559
-- Table structure for table `cash_register_actions`
1474
--
1560
--
1475
1561
1476
DROP TABLE IF EXISTS sms_providers;
1562
DROP TABLE IF EXISTS `cash_register_actions`;
1477
CREATE TABLE `sms_providers` (
1563
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1478
  `id` int(11) NOT NULL AUTO_INCREMENT,
1564
/*!40101 SET character_set_client = utf8 */;
1479
  `name` varchar(255) NOT NULL,
1565
CREATE TABLE `cash_register_actions` (
1480
  `domain` varchar(255) NOT NULL,
1566
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for each account register action',
1567
  `code` varchar(24) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'action code denoting the type of action recorded (enum),',
1568
  `register_id` int(11) NOT NULL COMMENT 'id of cash_register this action belongs to,',
1569
  `manager_id` int(11) NOT NULL COMMENT 'staff member performing the action',
1570
  `amount` decimal(28,6) DEFAULT NULL COMMENT 'amount recorded in action (signed)',
1571
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
1481
  PRIMARY KEY (`id`),
1572
  PRIMARY KEY (`id`),
1482
  UNIQUE KEY `name` (`name` (191))
1573
  KEY `cash_register_actions_manager` (`manager_id`),
1574
  KEY `cash_register_actions_register` (`register_id`),
1575
  CONSTRAINT `cash_register_actions_manager` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1576
  CONSTRAINT `cash_register_actions_register` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1483
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1577
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1578
/*!40101 SET character_set_client = @saved_cs_client */;
1484
1579
1485
--
1580
--
1486
-- Table structure for table `borrowers`
1581
-- Table structure for table `cash_registers`
1487
--
1582
--
1488
1583
1489
DROP TABLE IF EXISTS `borrowers`;
1584
DROP TABLE IF EXISTS `cash_registers`;
1490
CREATE TABLE `borrowers` ( -- this table includes information about your patrons/borrowers/members
1585
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1491
  `borrowernumber` int(11) NOT NULL auto_increment COMMENT "primary key, Koha assigned ID number for patrons/borrowers",
1586
/*!40101 SET character_set_client = utf8 */;
1492
  `cardnumber` varchar(32) default NULL COMMENT "unique key, library assigned ID number for patrons/borrowers",
1587
CREATE TABLE `cash_registers` (
1493
  `surname` LONGTEXT COMMENT "patron/borrower's last name (surname)",
1588
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for each account register',
1494
  `firstname` MEDIUMTEXT COMMENT "patron/borrower's first name",
1589
  `name` varchar(24) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the user friendly identifier for each account register',
1495
  `title` LONGTEXT COMMENT "patron/borrower's title, for example: Mr. or Mrs.",
1590
  `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the user friendly description for each account register',
1496
  `othernames` LONGTEXT COMMENT "any other names associated with the patron/borrower",
1591
  `branch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the foreign key the library this account register belongs',
1497
  `initials` MEDIUMTEXT COMMENT "initials for your patron/borrower",
1592
  `branch_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'boolean flag to denote that this till is the branch default',
1498
  `streetnumber` TINYTEXT default NULL COMMENT "the house number for your patron/borrower's primary address",
1593
  `starting_float` decimal(28,6) DEFAULT NULL COMMENT 'the starting float this account register should be assigned',
1499
  `streettype` TINYTEXT default NULL COMMENT "the street type (Rd., Blvd, etc) for your patron/borrower's primary address",
1594
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'boolean flag to denote if this till is archived or not',
1500
  `address` LONGTEXT COMMENT "the first address line for your patron/borrower's primary address",
1595
  PRIMARY KEY (`id`),
1501
  `address2` MEDIUMTEXT COMMENT "the second address line for your patron/borrower's primary address",
1596
  UNIQUE KEY `name` (`name`,`branch`),
1502
  `city` LONGTEXT COMMENT "the city or town for your patron/borrower's primary address",
1597
  KEY `cash_registers_branch` (`branch`),
1503
  `state` MEDIUMTEXT default NULL COMMENT "the state or province for your patron/borrower's primary address",
1598
  CONSTRAINT `cash_registers_branch` FOREIGN KEY (`branch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1504
  `zipcode` TINYTEXT default NULL COMMENT "the zip or postal code for your patron/borrower's primary address",
1505
  `country` MEDIUMTEXT COMMENT "the country for your patron/borrower's primary address",
1506
  `email` LONGTEXT COMMENT "the primary email address for your patron/borrower's primary address",
1507
  `phone` MEDIUMTEXT COMMENT "the primary phone number for your patron/borrower's primary address",
1508
  `mobile` TINYTEXT default NULL COMMENT "the other phone number for your patron/borrower's primary address",
1509
  `fax` LONGTEXT COMMENT "the fax number for your patron/borrower's primary address",
1510
  `emailpro` MEDIUMTEXT COMMENT "the secondary email addres for your patron/borrower's primary address",
1511
  `phonepro` MEDIUMTEXT COMMENT "the secondary phone number for your patron/borrower's primary address",
1512
  `B_streetnumber` TINYTEXT default NULL COMMENT "the house number for your patron/borrower's alternate address",
1513
  `B_streettype` TINYTEXT default NULL COMMENT "the street type (Rd., Blvd, etc) for your patron/borrower's alternate address",
1514
  `B_address` MEDIUMTEXT default NULL COMMENT "the first address line for your patron/borrower's alternate address",
1515
  `B_address2` MEDIUMTEXT default NULL COMMENT "the second address line for your patron/borrower's alternate address",
1516
  `B_city` LONGTEXT COMMENT "the city or town for your patron/borrower's alternate address",
1517
  `B_state` MEDIUMTEXT default NULL COMMENT "the state for your patron/borrower's alternate address",
1518
  `B_zipcode` TINYTEXT default NULL COMMENT "the zip or postal code for your patron/borrower's alternate address",
1519
  `B_country` MEDIUMTEXT COMMENT "the country for your patron/borrower's alternate address",
1520
  `B_email` MEDIUMTEXT COMMENT "the patron/borrower's alternate email address",
1521
  `B_phone` LONGTEXT COMMENT "the patron/borrower's alternate phone number",
1522
  `dateofbirth` date default NULL COMMENT "the patron/borrower's date of birth (YYYY-MM-DD)",
1523
  `branchcode` varchar(10) NOT NULL default '' COMMENT "foreign key from the branches table, includes the code of the patron/borrower's home branch",
1524
  `categorycode` varchar(10) NOT NULL default '' COMMENT "foreign key from the categories table, includes the code of the patron category",
1525
  `dateenrolled` date default NULL COMMENT "date the patron was added to Koha (YYYY-MM-DD)",
1526
  `dateexpiry` date default NULL COMMENT "date the patron/borrower's card is set to expire (YYYY-MM-DD)",
1527
  `date_renewed` date default NULL COMMENT "date the patron/borrower's card was last renewed",
1528
  `gonenoaddress` tinyint(1) default NULL COMMENT "set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having an unconfirmed address",
1529
  `lost` tinyint(1) default NULL COMMENT "set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having lost their card",
1530
  `debarred` date default NULL COMMENT "until this date the patron can only check-in (no loans, no holds, etc.), is a fine based on days instead of money (YYYY-MM-DD)",
1531
  `debarredcomment` VARCHAR(255) DEFAULT NULL COMMENT "comment on the stop of the patron",
1532
  `contactname` LONGTEXT COMMENT "used for children and profesionals to include surname or last name of guarantor or organization name",
1533
  `contactfirstname` MEDIUMTEXT COMMENT "used for children to include first name of guarantor",
1534
  `contacttitle` MEDIUMTEXT COMMENT "used for children to include title (Mr., Mrs., etc) of guarantor",
1535
  `borrowernotes` LONGTEXT COMMENT "a note on the patron/borrower's account that is only visible in the staff interface",
1536
  `relationship` varchar(100) default NULL COMMENT "used for children to include the relationship to their guarantor",
1537
  `sex` varchar(1) default NULL COMMENT "patron/borrower's gender",
1538
  `password` varchar(60) default NULL COMMENT "patron/borrower's Bcrypt encrypted password",
1539
  `flags` int(11) default NULL COMMENT "will include a number associated with the staff member's permissions",
1540
  `userid` varchar(75) default NULL COMMENT "patron/borrower's opac and/or staff interface log in",
1541
  `opacnote` LONGTEXT COMMENT "a note on the patron/borrower's account that is visible in the OPAC and staff interface",
1542
  `contactnote` varchar(255) default NULL COMMENT "a note related to the patron/borrower's alternate address",
1543
  `sort1` varchar(80) default NULL COMMENT "a field that can be used for any information unique to the library",
1544
  `sort2` varchar(80) default NULL COMMENT "a field that can be used for any information unique to the library",
1545
  `altcontactfirstname` MEDIUMTEXT  default NULL COMMENT "first name of alternate contact for the patron/borrower",
1546
  `altcontactsurname` MEDIUMTEXT default NULL COMMENT "surname or last name of the alternate contact for the patron/borrower",
1547
  `altcontactaddress1` MEDIUMTEXT default NULL COMMENT "the first address line for the alternate contact for the patron/borrower",
1548
  `altcontactaddress2` MEDIUMTEXT default NULL COMMENT "the second address line for the alternate contact for the patron/borrower",
1549
  `altcontactaddress3` MEDIUMTEXT default NULL COMMENT "the city for the alternate contact for the patron/borrower",
1550
  `altcontactstate` MEDIUMTEXT default NULL COMMENT "the state for the alternate contact for the patron/borrower",
1551
  `altcontactzipcode` MEDIUMTEXT default NULL COMMENT "the zipcode for the alternate contact for the patron/borrower",
1552
  `altcontactcountry` MEDIUMTEXT default NULL COMMENT "the country for the alternate contact for the patron/borrower",
1553
  `altcontactphone` MEDIUMTEXT default NULL COMMENT "the phone number for the alternate contact for the patron/borrower",
1554
  `smsalertnumber` varchar(50) default NULL COMMENT "the mobile phone number where the patron/borrower would like to receive notices (if SMS turned on)",
1555
  `sms_provider_id` int(11) DEFAULT NULL COMMENT "the provider of the mobile phone number defined in smsalertnumber",
1556
  `privacy` integer(11) DEFAULT '1' NOT NULL COMMENT "patron/borrower's privacy settings related to their checkout history",
1557
  `privacy_guarantor_fines` tinyint(1) NOT NULL DEFAULT '0' COMMENT "controls if relatives can see this patron's fines",
1558
  `privacy_guarantor_checkouts` tinyint(1) NOT NULL DEFAULT '0' COMMENT "controls if relatives can see this patron's checkouts",
1559
  `checkprevcheckout` varchar(7) NOT NULL default 'inherit' COMMENT "produce a warning for this patron if this item has previously been checked out to this patron if 'yes', not if 'no', defer to category setting if 'inherit'.",
1560
  `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "time of last change could be useful for synchronization with external systems (among others)",
1561
  `lastseen` datetime default NULL COMMENT "last time a patron has been seen (connected at the OPAC or staff interface)",
1562
  `lang` varchar(25) NOT NULL default 'default' COMMENT "lang to use to send notices to this patron",
1563
  `login_attempts` int(4) NOT NULL default 0 COMMENT "number of failed login attemps",
1564
  `overdrive_auth_token` MEDIUMTEXT default NULL COMMENT "persist OverDrive auth token",
1565
  `anonymized` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "flag for data anonymization",
1566
  `autorenew_checkouts` TINYINT(1) NOT NULL DEFAULT 1 COMMENT "flag for allowing auto-renewal",
1567
  UNIQUE KEY `cardnumber` (`cardnumber`),
1568
  PRIMARY KEY `borrowernumber` (`borrowernumber`),
1569
  KEY `categorycode` (`categorycode`),
1570
  KEY `branchcode` (`branchcode`),
1571
  UNIQUE KEY `userid` (`userid`),
1572
  KEY `surname_idx` (`surname` (191)),
1573
  KEY `firstname_idx` (`firstname` (191)),
1574
  KEY `othernames_idx` (`othernames` (191)),
1575
  KEY `sms_provider_id` (`sms_provider_id`),
1576
  CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
1577
  CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`),
1578
  CONSTRAINT `borrowers_ibfk_3` FOREIGN KEY (`sms_provider_id`) REFERENCES `sms_providers` (`id`) ON UPDATE CASCADE ON DELETE SET NULL
1579
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1599
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1600
/*!40101 SET character_set_client = @saved_cs_client */;
1580
1601
1581
--
1602
--
1582
-- Table structure for table `borrower_attributes`
1603
-- Table structure for table `categories`
1583
--
1604
--
1584
1605
1585
DROP TABLE IF EXISTS `borrower_attributes`;
1606
DROP TABLE IF EXISTS `categories`;
1586
CREATE TABLE `borrower_attributes` ( -- values of custom patron fields known as extended patron attributes linked to patrons/borrowers
1607
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1587
  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT "Row id field",
1608
/*!40101 SET character_set_client = utf8 */;
1588
  `borrowernumber` int(11) NOT NULL COMMENT "foreign key from the borrowers table, defines which patron/borrower has this attribute",
1609
CREATE TABLE `categories` (
1589
  `code` varchar(10) NOT NULL COMMENT "foreign key from the borrower_attribute_types table, defines which custom field this value was entered for",
1610
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'unique primary key used to idenfity the patron category',
1590
  `attribute` varchar(255) default NULL COMMENT "custom patron field value",
1611
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'description of the patron category',
1591
  KEY `borrowernumber` (`borrowernumber`),
1612
  `enrolmentperiod` smallint(6) DEFAULT NULL COMMENT 'number of months the patron is enrolled for (will be NULL if enrolmentperioddate is set)',
1592
  KEY `code_attribute` (`code`, `attribute` (191)),
1613
  `enrolmentperioddate` date DEFAULT NULL COMMENT 'date the patron is enrolled until (will be NULL if enrolmentperiod is set)',
1593
  CONSTRAINT `borrower_attributes_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
1614
  `upperagelimit` smallint(6) DEFAULT NULL COMMENT 'age limit for the patron',
1594
    ON DELETE CASCADE ON UPDATE CASCADE,
1615
  `dateofbirthrequired` tinyint(1) DEFAULT NULL COMMENT 'the minimum age required for the patron category',
1595
  CONSTRAINT `borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`)
1616
  `finetype` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unused in Koha',
1596
    ON DELETE CASCADE ON UPDATE CASCADE
1617
  `bulk` tinyint(1) DEFAULT NULL,
1618
  `enrolmentfee` decimal(28,6) DEFAULT NULL COMMENT 'enrollment fee for the patron',
1619
  `overduenoticerequired` tinyint(1) DEFAULT NULL COMMENT 'are overdue notices sent to this patron category (1 for yes, 0 for no)',
1620
  `issuelimit` smallint(6) DEFAULT NULL COMMENT 'unused in Koha',
1621
  `reservefee` decimal(28,6) DEFAULT NULL COMMENT 'cost to place holds',
1622
  `hidelostitems` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'are lost items shown to this category (1 for yes, 0 for no)',
1623
  `category_type` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'A' COMMENT 'type of Koha patron (Adult, Child, Professional, Organizational, Statistical, Staff)',
1624
  `BlockExpiredPatronOpacActions` tinyint(1) NOT NULL DEFAULT -1 COMMENT 'wheither or not a patron of this category can renew books or place holds once their card has expired. 0 means they can, 1 means they cannot, -1 means use syspref BlockExpiredPatronOpacActions',
1625
  `default_privacy` enum('default','never','forever') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'Default privacy setting for this patron category',
1626
  `checkprevcheckout` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'inherit' COMMENT 'produce a warning for this patron category if this item has previously been checked out to this patron if ''yes'', not if ''no'', defer to syspref setting if ''inherit''.',
1627
  `reset_password` tinyint(1) DEFAULT NULL COMMENT 'if patrons of this category can do the password reset flow,',
1628
  `change_password` tinyint(1) DEFAULT NULL COMMENT 'if patrons of this category can change their passwords in the OAPC',
1629
  `min_password_length` smallint(6) DEFAULT NULL COMMENT 'set minimum password length for patrons in this category',
1630
  `require_strong_password` tinyint(1) DEFAULT NULL COMMENT 'set required password strength for patrons in this category',
1631
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude patrons of this category from local holds priority',
1632
  PRIMARY KEY (`categorycode`),
1633
  UNIQUE KEY `categorycode` (`categorycode`)
1597
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1634
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1635
/*!40101 SET character_set_client = @saved_cs_client */;
1598
1636
1599
--
1637
--
1600
-- Table structure for table `borrower_debarments`
1638
-- Table structure for table `categories_branches`
1601
--
1602
1603
DROP TABLE IF EXISTS `borrower_debarments`;
1604
CREATE TABLE borrower_debarments ( -- tracks restrictions on the patron's record
1605
  borrower_debarment_id int(11) NOT NULL AUTO_INCREMENT COMMENT "unique key for the restriction",
1606
  borrowernumber int(11) NOT NULL COMMENT "foreign key for borrowers.borrowernumber for patron who is restricted",
1607
  expiration date DEFAULT NULL COMMENT "expiration date of the restriction",
1608
  `type` enum('SUSPENSION','OVERDUES','MANUAL','DISCHARGE') NOT NULL DEFAULT 'MANUAL' COMMENT "type of restriction",
1609
  `comment` MEDIUMTEXT COMMENT "comments about the restriction",
1610
  manager_id int(11) DEFAULT NULL COMMENT "foreign key for borrowers.borrowernumber for the librarian managing the restriction",
1611
  created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "date the restriction was added",
1612
  updated timestamp NULL DEFAULT NULL COMMENT "date the restriction was updated",
1613
  PRIMARY KEY (borrower_debarment_id),
1614
  KEY borrowernumber (borrowernumber),
1615
  CONSTRAINT `borrower_debarments_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
1616
    ON DELETE CASCADE ON UPDATE CASCADE
1617
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1618
1619
--
1620
-- Table structure for table api_keys
1621
--
1639
--
1622
1640
1623
DROP TABLE IF EXISTS `api_keys`;
1641
DROP TABLE IF EXISTS `categories_branches`;
1624
CREATE TABLE `api_keys` (
1642
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1625
    `client_id`   VARCHAR(191) NOT NULL COMMENT "API client ID",
1643
/*!40101 SET character_set_client = utf8 */;
1626
    `secret`      VARCHAR(191) NOT NULL COMMENT "API client secret used for API authentication",
1644
CREATE TABLE `categories_branches` (
1627
    `description` VARCHAR(255) NOT NULL COMMENT "API client description",
1645
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1628
    `patron_id`   INT(11) NOT NULL COMMENT "Foreign key to the borrowers table",
1646
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1629
    `active`      TINYINT(1) DEFAULT 1 NOT NULL COMMENT "0 means this API key is revoked",
1647
  KEY `categorycode` (`categorycode`),
1630
    PRIMARY KEY `client_id` (`client_id`),
1648
  KEY `branchcode` (`branchcode`),
1631
    UNIQUE KEY `secret` (`secret`),
1649
  CONSTRAINT `categories_branches_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE,
1632
    KEY `patron_id` (`patron_id`),
1650
  CONSTRAINT `categories_branches_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
1633
    CONSTRAINT `api_keys_fk_patron_id`
1634
      FOREIGN KEY (`patron_id`)
1635
      REFERENCES `borrowers` (`borrowernumber`)
1636
      ON DELETE CASCADE ON UPDATE CASCADE
1637
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1651
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1652
/*!40101 SET character_set_client = @saved_cs_client */;
1638
1653
1639
--
1654
--
1640
-- Table structure for table `issues`
1655
-- Table structure for table `circulation_rules`
1641
--
1656
--
1642
1657
1643
DROP TABLE IF EXISTS `issues`;
1658
DROP TABLE IF EXISTS `circulation_rules`;
1644
CREATE TABLE `issues` ( -- information related to check outs or issues
1659
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1645
  `issue_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "primary key for issues table",
1660
/*!40101 SET character_set_client = utf8 */;
1646
  `borrowernumber` int(11) COMMENT "foreign key, linking this to the borrowers table for the patron this item was checked out to",
1661
CREATE TABLE `circulation_rules` (
1647
  `issuer_id` INT(11) NULL DEFAULT NULL COMMENT "foreign key, linking this to the borrowers table for the user who checked out this item",
1662
  `id` int(11) NOT NULL AUTO_INCREMENT,
1648
  `itemnumber` int(11) COMMENT "foreign key, linking this to the items table for the item that was checked out",
1663
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1649
  `date_due` datetime default NULL COMMENT "datetime the item is due (yyyy-mm-dd hh:mm::ss)",
1664
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1650
  `branchcode` varchar(10) default NULL COMMENT "foreign key, linking to the branches table for the location the item was checked out",
1665
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1651
  `returndate` datetime default NULL COMMENT "date the item was returned, will be NULL until moved to old_issues",
1666
  `rule_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
1652
  `lastreneweddate` datetime default NULL COMMENT "date the item was last renewed",
1667
  `rule_value` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
1653
  `renewals` tinyint(4) NOT NULL default 0 COMMENT "lists the number of times the item was renewed",
1668
  PRIMARY KEY (`id`),
1654
  `unseen_renewals` tinyint(4) NOT NULL default 0 COMMENT "lists the number of consecutive times the item was renewed without being seen",
1669
  UNIQUE KEY `branchcode` (`branchcode`,`categorycode`,`itemtype`,`rule_name`),
1655
  `auto_renew` tinyint(1) default FALSE COMMENT "automatic renewal",
1670
  KEY `circ_rules_ibfk_2` (`categorycode`),
1656
  `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "automatic renewal error",
1671
  KEY `circ_rules_ibfk_3` (`itemtype`),
1657
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this record was last touched",
1672
  KEY `rule_name` (`rule_name`),
1658
  `issuedate` datetime default NULL COMMENT "date the item was checked out or issued",
1673
  CONSTRAINT `circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
1659
  `onsite_checkout` int(1) NOT NULL default 0 COMMENT "in house use flag",
1674
  CONSTRAINT `circ_rules_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE,
1660
  `note` LONGTEXT default NULL COMMENT "issue note text",
1675
  CONSTRAINT `circ_rules_ibfk_3` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE
1661
  `notedate` datetime default NULL COMMENT "datetime of issue note (yyyy-mm-dd hh:mm::ss)",
1676
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1662
  `noteseen` int(1) default NULL COMMENT "describes whether checkout note has been seen 1, not been seen 0 or doesn't exist null",
1677
/*!40101 SET character_set_client = @saved_cs_client */;
1663
  PRIMARY KEY (`issue_id`),
1664
  UNIQUE KEY `itemnumber` (`itemnumber`),
1665
  KEY `issuesborridx` (`borrowernumber`),
1666
  KEY `itemnumber_idx` (`itemnumber`),
1667
  KEY `branchcode_idx` (`branchcode`),
1668
  KEY `bordate` (`borrowernumber`,`timestamp`),
1669
  CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE RESTRICT ON UPDATE CASCADE,
1670
  CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE RESTRICT ON UPDATE CASCADE,
1671
  CONSTRAINT `issues_ibfk_borrowers_borrowernumber` FOREIGN KEY (`issuer_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
1672
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1673
1678
1674
--
1679
--
1675
-- Table structure for table `old_issues`
1680
-- Table structure for table `cities`
1676
--
1681
--
1677
1682
1678
DROP TABLE IF EXISTS `old_issues`;
1683
DROP TABLE IF EXISTS `cities`;
1679
CREATE TABLE `old_issues` ( -- lists items that were checked out and have been returned
1684
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1680
  `issue_id` int(11) NOT NULL COMMENT "primary key for issues table",
1685
/*!40101 SET character_set_client = utf8 */;
1681
  `borrowernumber` int(11) default NULL COMMENT "foreign key, linking this to the borrowers table for the patron this item was checked out to",
1686
CREATE TABLE `cities` (
1682
  `issuer_id` INT(11) NULL DEFAULT NULL COMMENT "foreign key, linking this to the borrowers table for the user who checked out this item",
1687
  `cityid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier added by Koha',
1683
  `itemnumber` int(11) default NULL COMMENT "foreign key, linking this to the items table for the item that was checked out",
1688
  `city_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'name of the city',
1684
  `date_due` datetime default NULL COMMENT "date the item is due (yyyy-mm-dd)",
1689
  `city_state` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name of the state/province',
1685
  `branchcode` varchar(10) default NULL COMMENT "foreign key, linking to the branches table for the location the item was checked out",
1690
  `city_country` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name of the country',
1686
  `returndate` datetime default NULL COMMENT "date the item was returned",
1691
  `city_zipcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zip or postal code',
1687
  `lastreneweddate` datetime default NULL COMMENT "date the item was last renewed",
1692
  PRIMARY KEY (`cityid`)
1688
  `renewals` tinyint(4) NOT NULL default 0 COMMENT "lists the number of times the item was renewed",
1689
  `unseen_renewals` tinyint(4) NOT NULL default 0 COMMENT "lists the number of consecutive times the item was renewed without being seen",
1690
  `auto_renew` tinyint(1) default FALSE COMMENT "automatic renewal",
1691
  `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "automatic renewal error",
1692
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this record was last touched",
1693
  `issuedate` datetime default NULL COMMENT "date the item was checked out or issued",
1694
  `onsite_checkout` int(1) NOT NULL default 0 COMMENT "in house use flag",
1695
  `note` LONGTEXT default NULL COMMENT "issue note text",
1696
  `notedate` datetime default NULL COMMENT "datetime of issue note (yyyy-mm-dd hh:mm::ss)",
1697
  `noteseen` int(1) default NULL COMMENT "describes whether checkout note has been seen 1, not been seen 0 or doesn't exist null",
1698
  PRIMARY KEY (`issue_id`),
1699
  KEY `old_issuesborridx` (`borrowernumber`),
1700
  KEY `old_issuesitemidx` (`itemnumber`),
1701
  KEY `branchcode_idx` (`branchcode`),
1702
  KEY `old_bordate` (`borrowernumber`,`timestamp`),
1703
  CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
1704
    ON DELETE SET NULL ON UPDATE SET NULL,
1705
  CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
1706
    ON DELETE SET NULL ON UPDATE SET NULL,
1707
  CONSTRAINT `old_issues_ibfk_borrowers_borrowernumber` FOREIGN KEY (`issuer_id`) REFERENCES `borrowers` (`borrowernumber`)
1708
    ON DELETE SET NULL ON UPDATE CASCADE
1709
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1693
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1694
/*!40101 SET character_set_client = @saved_cs_client */;
1710
1695
1711
--
1696
--
1712
-- Table structure for table `items_last_borrower`
1697
-- Table structure for table `class_sort_rules`
1713
--
1698
--
1714
1699
1715
CREATE TABLE IF NOT EXISTS `items_last_borrower` (
1700
DROP TABLE IF EXISTS `class_sort_rules`;
1716
  `id` int(11) NOT NULL AUTO_INCREMENT,
1701
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1717
  `itemnumber` int(11) NOT NULL,
1702
/*!40101 SET character_set_client = utf8 */;
1718
  `borrowernumber` int(11) NOT NULL,
1703
CREATE TABLE `class_sort_rules` (
1719
  `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
1704
  `class_sort_rule` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1720
  PRIMARY KEY (`id`),
1705
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1721
  UNIQUE KEY `itemnumber` (`itemnumber`),
1706
  `sort_routine` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1722
  KEY `borrowernumber` (`borrowernumber`),
1707
  PRIMARY KEY (`class_sort_rule`),
1723
  CONSTRAINT `items_last_borrower_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1708
  UNIQUE KEY `class_sort_rule_idx` (`class_sort_rule`)
1724
  CONSTRAINT `items_last_borrower_ibfk_1` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
1725
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1709
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1710
/*!40101 SET character_set_client = @saved_cs_client */;
1726
1711
1727
--
1712
--
1728
-- Table structure for table `creator_batches`
1713
-- Table structure for table `class_sources`
1729
--
1714
--
1730
1715
1731
DROP TABLE IF EXISTS `creator_batches`;
1716
DROP TABLE IF EXISTS `class_sources`;
1732
SET @saved_cs_client     = @@character_set_client;
1717
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1733
SET character_set_client = utf8;
1718
/*!40101 SET character_set_client = utf8 */;
1734
CREATE TABLE `creator_batches` (
1719
CREATE TABLE `class_sources` (
1735
  `label_id` int(11) NOT NULL AUTO_INCREMENT,
1720
  `cn_source` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1736
  `batch_id` int(10) NOT NULL DEFAULT '1',
1721
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1737
  `description` mediumtext DEFAULT NULL,
1722
  `used` tinyint(4) NOT NULL DEFAULT 0,
1738
  `item_number` int(11) DEFAULT NULL,
1723
  `class_sort_rule` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1739
  `borrower_number` int(11) DEFAULT NULL,
1724
  `class_split_rule` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1740
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
1725
  PRIMARY KEY (`cn_source`),
1741
  `branch_code` varchar(10) NOT NULL DEFAULT 'NB',
1726
  UNIQUE KEY `cn_source_idx` (`cn_source`),
1742
  `creator` char(15) NOT NULL DEFAULT 'Labels',
1727
  KEY `used_idx` (`used`),
1743
  PRIMARY KEY (`label_id`),
1728
  KEY `class_source_ibfk_1` (`class_sort_rule`),
1744
  KEY `branch_fk_constraint` (`branch_code`),
1729
  KEY `class_source_ibfk_2` (`class_split_rule`),
1745
  KEY `item_fk_constraint` (`item_number`),
1730
  CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) REFERENCES `class_sort_rules` (`class_sort_rule`),
1746
  KEY `borrower_fk_constraint` (`borrower_number`),
1731
  CONSTRAINT `class_source_ibfk_2` FOREIGN KEY (`class_split_rule`) REFERENCES `class_split_rules` (`class_split_rule`)
1747
  CONSTRAINT `creator_batches_ibfk_1` FOREIGN KEY (`borrower_number`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1748
  CONSTRAINT `creator_batches_ibfk_2` FOREIGN KEY (`branch_code`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE,
1749
  CONSTRAINT `creator_batches_ibfk_3` FOREIGN KEY (`item_number`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE
1750
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1732
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1733
/*!40101 SET character_set_client = @saved_cs_client */;
1751
1734
1752
--
1735
--
1753
-- Table structure for table `opac_news`
1736
-- Table structure for table `class_split_rules`
1754
--
1737
--
1755
1738
1756
DROP TABLE IF EXISTS `opac_news`;
1739
DROP TABLE IF EXISTS `class_split_rules`;
1757
CREATE TABLE `opac_news` ( -- data from the news tool
1740
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1758
  `idnew` int(10) unsigned NOT NULL auto_increment COMMENT "unique identifier for the news article",
1741
/*!40101 SET character_set_client = utf8 */;
1759
  `branchcode` varchar(10) default NULL COMMENT "branch code users to create branch specific news, NULL is every branch.",
1742
CREATE TABLE `class_split_rules` (
1760
  `title` varchar(250) NOT NULL default '' COMMENT "title of the news article",
1743
  `class_split_rule` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1761
  `content` MEDIUMTEXT NOT NULL COMMENT "the body of your news article",
1744
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1762
  `lang` varchar(50) NOT NULL default '' COMMENT "location for the article (koha is the staff interface, slip is the circulation receipt and language codes are for the opac)",
1745
  `split_routine` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1763
  `published_on` date DEFAULT NULL COMMENT "publication date",
1746
  `split_regex` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
1764
  `updated_on` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "last modification",
1747
  PRIMARY KEY (`class_split_rule`),
1765
  `expirationdate` date default NULL COMMENT "date the article is set to expire or no longer be visible",
1748
  UNIQUE KEY `class_split_rule_idx` (`class_split_rule`)
1766
  `number` int(11) default NULL COMMENT "the order in which this article appears in that specific location",
1767
  `borrowernumber` int(11) default NULL COMMENT "The user who created the news article",
1768
  PRIMARY KEY  (`idnew`),
1769
  CONSTRAINT `borrowernumber_fk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
1770
  CONSTRAINT opac_news_branchcode_ibfk FOREIGN KEY (branchcode) REFERENCES branches (branchcode)
1771
    ON DELETE CASCADE ON UPDATE CASCADE
1772
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1749
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1750
/*!40101 SET character_set_client = @saved_cs_client */;
1773
1751
1774
--
1752
--
1775
-- Table structure for table `patronimage`
1753
-- Table structure for table `club_enrollment_fields`
1776
--
1754
--
1777
1755
1778
DROP TABLE IF EXISTS `patronimage`;
1756
DROP TABLE IF EXISTS `club_enrollment_fields`;
1779
CREATE TABLE `patronimage` ( -- information related to patron images
1757
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1780
  `borrowernumber` int(11) NOT NULL COMMENT "the borrowernumber of the patron this image is attached to (borrowers.borrowernumber)",
1758
/*!40101 SET character_set_client = utf8 */;
1781
  `mimetype` varchar(15) NOT NULL COMMENT "the format of the image (png, jpg, etc)",
1759
CREATE TABLE `club_enrollment_fields` (
1782
  `imagefile` mediumblob NOT NULL COMMENT "the image",
1760
  `id` int(11) NOT NULL AUTO_INCREMENT,
1783
  PRIMARY KEY  (`borrowernumber`),
1761
  `club_enrollment_id` int(11) NOT NULL,
1784
  CONSTRAINT `patronimage_fk1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1762
  `club_template_enrollment_field_id` int(11) NOT NULL,
1763
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
1764
  PRIMARY KEY (`id`),
1765
  KEY `club_enrollment_id` (`club_enrollment_id`),
1766
  KEY `club_template_enrollment_field_id` (`club_template_enrollment_field_id`),
1767
  CONSTRAINT `club_enrollment_fields_ibfk_1` FOREIGN KEY (`club_enrollment_id`) REFERENCES `club_enrollments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1768
  CONSTRAINT `club_enrollment_fields_ibfk_2` FOREIGN KEY (`club_template_enrollment_field_id`) REFERENCES `club_template_enrollment_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1785
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1769
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1770
/*!40101 SET character_set_client = @saved_cs_client */;
1786
1771
1787
--
1772
--
1788
-- Table structure for table `reserves`
1773
-- Table structure for table `club_enrollments`
1789
--
1774
--
1790
1775
1791
DROP TABLE IF EXISTS `reserves`;
1776
DROP TABLE IF EXISTS `club_enrollments`;
1792
CREATE TABLE `reserves` ( -- information related to holds/reserves in Koha
1777
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1793
  `reserve_id` int(11) NOT NULL auto_increment COMMENT "primary key",
1778
/*!40101 SET character_set_client = utf8 */;
1794
  `borrowernumber` int(11) NOT NULL default 0 COMMENT "foreign key from the borrowers table defining which patron this hold is for",
1779
CREATE TABLE `club_enrollments` (
1795
  `reservedate` date default NULL COMMENT "the date the hold was placed",
1780
  `id` int(11) NOT NULL AUTO_INCREMENT,
1796
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key from the biblio table defining which bib record this hold is on",
1781
  `club_id` int(11) NOT NULL,
1797
  `branchcode` varchar(10) default NULL COMMENT "foreign key from the branches table defining which branch the patron wishes to pick this hold up at",
1782
  `borrowernumber` int(11) NOT NULL,
1798
  `desk_id` int(11) default NULL COMMENT "foreign key from the desks table defining which desk the patron should pick this hold up at",
1783
  `date_enrolled` timestamp NOT NULL DEFAULT current_timestamp(),
1799
  `notificationdate` date default NULL COMMENT "currently unused",
1784
  `date_canceled` timestamp NULL DEFAULT NULL,
1800
  `reminderdate` date default NULL COMMENT "currently unused",
1785
  `date_created` timestamp NULL DEFAULT NULL,
1801
  `cancellationdate` date default NULL COMMENT "the date this hold was cancelled",
1786
  `date_updated` timestamp NULL DEFAULT NULL,
1802
  `cancellation_reason` varchar(80) default NULL COMMENT "optional authorised value CANCELLATION_REASON",
1787
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1803
  `reservenotes` LONGTEXT COMMENT "notes related to this hold",
1788
  PRIMARY KEY (`id`),
1804
  `priority` smallint(6) NOT NULL DEFAULT 1 COMMENT "where in the queue the patron sits",
1789
  KEY `club_id` (`club_id`),
1805
  `found` varchar(1) default NULL COMMENT "a one letter code defining what the status is of the hold is after it has been confirmed",
1806
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this hold was last updated",
1807
  `itemnumber` int(11) default NULL COMMENT "foreign key from the items table defining the specific item the patron has placed on hold or the item this hold was filled with",
1808
  `waitingdate` date default NULL COMMENT "the date the item was marked as waiting for the patron at the library",
1809
  `expirationdate` DATE DEFAULT NULL COMMENT "the date the hold expires (usually the date entered by the patron to say they don't need the hold after a certain date)",
1810
  `lowestPriority` tinyint(1) NOT NULL DEFAULT 0,
1811
  `suspend` tinyint(1) NOT NULL DEFAULT 0,
1812
  `suspend_until` DATETIME NULL DEFAULT NULL,
1813
  `itemtype` VARCHAR(10) NULL DEFAULT NULL COMMENT "If record level hold, the optional itemtype of the item the patron is requesting",
1814
  `item_level_hold` tinyint(1) NOT NULL DEFAULT 0 COMMENT "Is the hpld placed at item level",
1815
  `non_priority` tinyint(1) NOT NULL DEFAULT 0 COMMENT "Is this a non priority hold",
1816
  PRIMARY KEY (`reserve_id`),
1817
  KEY priorityfoundidx (priority,found),
1818
  KEY `borrowernumber` (`borrowernumber`),
1790
  KEY `borrowernumber` (`borrowernumber`),
1819
  KEY `biblionumber` (`biblionumber`),
1820
  KEY `itemnumber` (`itemnumber`),
1821
  KEY `branchcode` (`branchcode`),
1791
  KEY `branchcode` (`branchcode`),
1822
  KEY `desk_id` (`desk_id`),
1792
  CONSTRAINT `club_enrollments_ibfk_1` FOREIGN KEY (`club_id`) REFERENCES `clubs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1823
  KEY `itemtype` (`itemtype`),
1793
  CONSTRAINT `club_enrollments_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1824
  CONSTRAINT `reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1794
  CONSTRAINT `club_enrollments_ibfk_3` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE
1825
  CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1826
  CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1827
  CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
1828
  CONSTRAINT `reserves_ibfk_5` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE,
1829
  CONSTRAINT `reserves_ibfk_6` FOREIGN KEY (`desk_id`) REFERENCES `desks` (`desk_id`) ON DELETE SET NULL ON UPDATE CASCADE
1830
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1795
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1796
/*!40101 SET character_set_client = @saved_cs_client */;
1831
1797
1832
--
1798
--
1833
-- Table structure for table `old_reserves`
1799
-- Table structure for table `club_fields`
1834
--
1800
--
1835
1801
1836
DROP TABLE IF EXISTS `old_reserves`;
1802
DROP TABLE IF EXISTS `club_fields`;
1837
CREATE TABLE `old_reserves` ( -- this table holds all holds/reserves that have been completed (either filled or cancelled)
1803
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1838
  `reserve_id` int(11) NOT NULL COMMENT "primary key",
1804
/*!40101 SET character_set_client = utf8 */;
1839
  `borrowernumber` int(11) default NULL COMMENT "foreign key from the borrowers table defining which patron this hold is for",
1805
CREATE TABLE `club_fields` (
1840
  `reservedate` date default NULL COMMENT "the date the hold was places",
1806
  `id` int(11) NOT NULL AUTO_INCREMENT,
1841
  `biblionumber` int(11) default NULL COMMENT "foreign key from the biblio table defining which bib record this hold is on",
1807
  `club_template_field_id` int(11) NOT NULL,
1842
  `branchcode` varchar(10) default NULL COMMENT "foreign key from the branches table defining which branch the patron wishes to pick this hold up at",
1808
  `club_id` int(11) NOT NULL,
1843
  `desk_id` int(11) default NULL COMMENT "foreign key from the desks table defining which desk the patron should pick this hold up at",
1809
  `value` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1844
  `notificationdate` date default NULL COMMENT "currently unused",
1810
  PRIMARY KEY (`id`),
1845
  `reminderdate` date default NULL COMMENT "currently unused",
1811
  KEY `club_template_field_id` (`club_template_field_id`),
1846
  `cancellationdate` date default NULL COMMENT "the date this hold was cancelled",
1812
  KEY `club_id` (`club_id`),
1847
  `cancellation_reason` varchar(80) default NULL COMMENT "optional authorised value CANCELLATION_REASON",
1813
  CONSTRAINT `club_fields_ibfk_3` FOREIGN KEY (`club_template_field_id`) REFERENCES `club_template_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1848
  `reservenotes` LONGTEXT COMMENT "notes related to this hold",
1814
  CONSTRAINT `club_fields_ibfk_4` FOREIGN KEY (`club_id`) REFERENCES `clubs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1849
  `priority` smallint(6) NOT NULL DEFAULT 1 COMMENT "where in the queue the patron sits",
1850
  `found` varchar(1) default NULL COMMENT "a one letter code defining what the status is of the hold is after it has been confirmed",
1851
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this hold was last updated",
1852
  `itemnumber` int(11) default NULL COMMENT "foreign key from the items table defining the specific item the patron has placed on hold or the item this hold was filled with",
1853
  `waitingdate` date default NULL COMMENT "the date the item was marked as waiting for the patron at the library",
1854
  `expirationdate` DATE DEFAULT NULL COMMENT "the date the hold expires (usually the date entered by the patron to say they don't need the hold after a certain date)",
1855
  `lowestPriority` tinyint(1) NOT NULL DEFAULT 0 COMMENT "has this hold been pinned to the lowest priority in the holds queue (1 for yes, 0 for no)",
1856
  `suspend` tinyint(1) NOT NULL DEFAULT 0 COMMENT "in this hold suspended (1 for yes, 0 for no)",
1857
  `suspend_until` DATETIME NULL DEFAULT NULL COMMENT "the date this hold is suspended until (NULL for infinitely)",
1858
  `itemtype` VARCHAR(10) NULL DEFAULT NULL COMMENT "If record level hold, the optional itemtype of the item the patron is requesting",
1859
  `item_level_hold` tinyint(1) NOT NULL DEFAULT 0 COMMENT "Is the hpld placed at item level",
1860
  `non_priority` tinyint(1) NOT NULL DEFAULT 0 COMMENT "Is this a non priority hold",
1861
  PRIMARY KEY (`reserve_id`),
1862
  KEY `old_reserves_borrowernumber` (`borrowernumber`),
1863
  KEY `old_reserves_biblionumber` (`biblionumber`),
1864
  KEY `old_reserves_itemnumber` (`itemnumber`),
1865
  KEY `old_reserves_branchcode` (`branchcode`),
1866
  KEY `old_reserves_itemtype` (`itemtype`),
1867
  CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
1868
    ON DELETE SET NULL ON UPDATE SET NULL,
1869
  CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`)
1870
    ON DELETE SET NULL ON UPDATE SET NULL,
1871
  CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
1872
    ON DELETE SET NULL ON UPDATE SET NULL,
1873
  CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`)
1874
    ON DELETE SET NULL ON UPDATE SET NULL
1875
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1815
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1816
/*!40101 SET character_set_client = @saved_cs_client */;
1876
1817
1877
--
1818
--
1878
-- Table structure for table `reviews`
1819
-- Table structure for table `club_holds`
1879
--
1820
--
1880
1821
1881
DROP TABLE IF EXISTS `reviews`;
1822
DROP TABLE IF EXISTS `club_holds`;
1882
CREATE TABLE `reviews` ( -- patron opac comments
1823
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1883
  `reviewid` int(11) NOT NULL auto_increment COMMENT "unique identifier for this comment",
1824
/*!40101 SET character_set_client = utf8 */;
1884
  `borrowernumber` int(11) default NULL COMMENT "foreign key from the borrowers table defining which patron left this comment",
1825
CREATE TABLE `club_holds` (
1885
  `biblionumber` int(11) default NULL COMMENT "foreign key from the biblio table defining which bibliographic record this comment is for",
1826
  `id` int(11) NOT NULL AUTO_INCREMENT,
1886
  `review` MEDIUMTEXT COMMENT "the body of the comment",
1827
  `club_id` int(11) NOT NULL COMMENT 'id for the club the hold was generated for',
1887
  `approved` tinyint(4) default 0 COMMENT "whether this comment has been approved by a librarian (1 for yes, 0 for no)",
1828
  `biblio_id` int(11) NOT NULL COMMENT 'id for the bibliographic record the hold has been placed against',
1888
  `datereviewed` datetime default NULL COMMENT "the date the comment was left",
1829
  `item_id` int(11) DEFAULT NULL COMMENT 'If item-level, the id for the item the hold has been placed agains',
1889
  PRIMARY KEY  (`reviewid`),
1830
  `date_created` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'Timestamp for the placed hold',
1890
  CONSTRAINT `reviews_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
1831
  PRIMARY KEY (`id`),
1891
  CONSTRAINT `reviews_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
1832
  KEY `clubs_holds_ibfk_1` (`club_id`),
1833
  KEY `clubs_holds_ibfk_2` (`biblio_id`),
1834
  KEY `clubs_holds_ibfk_3` (`item_id`),
1835
  CONSTRAINT `clubs_holds_ibfk_1` FOREIGN KEY (`club_id`) REFERENCES `clubs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1836
  CONSTRAINT `clubs_holds_ibfk_2` FOREIGN KEY (`biblio_id`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1837
  CONSTRAINT `clubs_holds_ibfk_3` FOREIGN KEY (`item_id`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
1892
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1838
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1839
/*!40101 SET character_set_client = @saved_cs_client */;
1893
1840
1894
--
1841
--
1895
-- Table structure for table `special_holidays`
1842
-- Table structure for table `club_holds_to_patron_holds`
1896
--
1843
--
1897
1844
1898
DROP TABLE IF EXISTS `special_holidays`;
1845
DROP TABLE IF EXISTS `club_holds_to_patron_holds`;
1899
CREATE TABLE `special_holidays` ( -- non repeatable holidays/library closings
1846
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1900
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
1847
/*!40101 SET character_set_client = utf8 */;
1901
  `branchcode` varchar(10) NOT NULL COMMENT "foreign key from the branches table, defines which branch this closing is for",
1848
CREATE TABLE `club_holds_to_patron_holds` (
1902
  `day` smallint(6) NOT NULL default 0 COMMENT "day of the month this closing is on",
1849
  `id` int(11) NOT NULL AUTO_INCREMENT,
1903
  `month` smallint(6) NOT NULL default 0 COMMENT "month this closing is in",
1850
  `club_hold_id` int(11) NOT NULL,
1904
  `year` smallint(6) NOT NULL default 0 COMMENT "year this closing is in",
1851
  `patron_id` int(11) NOT NULL,
1905
  `isexception` smallint(1) NOT NULL default 1 COMMENT "is this a holiday exception to a repeatable holiday (1 for yes, 0 for no)",
1852
  `hold_id` int(11) DEFAULT NULL,
1906
  `title` varchar(50) NOT NULL default '' COMMENT "title for this closing",
1853
  `error_code` enum('damaged','ageRestricted','itemAlreadyOnHold','tooManyHoldsForThisRecord','tooManyReservesToday','tooManyReserves','notReservable','cannotReserveFromOtherBranches','libraryNotFound','libraryNotPickupLocation','cannotBeTransferred') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1907
  `description` MEDIUMTEXT NOT NULL COMMENT "description of this closing",
1854
  `error_message` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1908
  PRIMARY KEY  (`id`),
1855
  PRIMARY KEY (`id`),
1909
  CONSTRAINT `special_holidays_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1856
  KEY `clubs_holds_paton_holds_ibfk_1` (`club_hold_id`),
1857
  KEY `clubs_holds_paton_holds_ibfk_2` (`patron_id`),
1858
  KEY `clubs_holds_paton_holds_ibfk_3` (`hold_id`),
1859
  CONSTRAINT `clubs_holds_paton_holds_ibfk_1` FOREIGN KEY (`club_hold_id`) REFERENCES `club_holds` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1860
  CONSTRAINT `clubs_holds_paton_holds_ibfk_2` FOREIGN KEY (`patron_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1861
  CONSTRAINT `clubs_holds_paton_holds_ibfk_3` FOREIGN KEY (`hold_id`) REFERENCES `reserves` (`reserve_id`) ON DELETE CASCADE ON UPDATE CASCADE
1910
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1862
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1863
/*!40101 SET character_set_client = @saved_cs_client */;
1911
1864
1912
--
1865
--
1913
-- Table structure for table `statistics`
1866
-- Table structure for table `club_template_enrollment_fields`
1914
--
1867
--
1915
1868
1916
DROP TABLE IF EXISTS `statistics`;
1869
DROP TABLE IF EXISTS `club_template_enrollment_fields`;
1917
CREATE TABLE `statistics` ( -- information related to transactions (circulation and fines) in Koha
1870
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1918
  `datetime` datetime default NULL COMMENT "date and time of the transaction",
1871
/*!40101 SET character_set_client = utf8 */;
1919
  `branch` varchar(10) default NULL COMMENT "foreign key, branch where the transaction occurred",
1872
CREATE TABLE `club_template_enrollment_fields` (
1920
  `value` double(16,4) default NULL COMMENT "monetary value associated with the transaction",
1873
  `id` int(11) NOT NULL AUTO_INCREMENT,
1921
  `type` varchar(16) default NULL COMMENT "transaction type (localuse, issue, return, renew, writeoff, payment)",
1874
  `club_template_id` int(11) NOT NULL,
1922
  `other` LONGTEXT COMMENT "used by SIP",
1875
  `name` text COLLATE utf8mb4_unicode_ci NOT NULL,
1923
  `itemnumber` int(11) default NULL COMMENT "foreign key from the items table, links transaction to a specific item",
1876
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1924
  `itemtype` varchar(10) default NULL COMMENT "foreign key from the itemtypes table, links transaction to a specific item type",
1877
  `authorised_value_category` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1925
  `location` varchar(80) default NULL COMMENT "authorized value for the shelving location for this item (MARC21 952$c)",
1878
  PRIMARY KEY (`id`),
1926
  `borrowernumber` int(11) default NULL COMMENT "foreign key from the borrowers table, links transaction to a specific borrower",
1879
  KEY `club_template_id` (`club_template_id`),
1927
  `ccode` varchar(80) default NULL COMMENT "foreign key from the items table, links transaction to a specific collection code",
1880
  CONSTRAINT `club_template_enrollment_fields_ibfk_1` FOREIGN KEY (`club_template_id`) REFERENCES `club_templates` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1928
  KEY `timeidx` (`datetime`),
1929
  KEY `branch_idx` (`branch`),
1930
  KEY `type_idx` (`type`),
1931
  KEY `itemnumber_idx` (`itemnumber`),
1932
  KEY `itemtype_idx` (`itemtype`),
1933
  KEY `borrowernumber_idx` (`borrowernumber`),
1934
  KEY `ccode_idx` (`ccode`)
1935
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1881
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1882
/*!40101 SET character_set_client = @saved_cs_client */;
1936
1883
1937
--
1884
--
1938
-- Table structure for table pseudonymized_transactions
1885
-- Table structure for table `club_template_fields`
1939
--
1886
--
1940
1887
1941
DROP TABLE IF EXISTS pseudonymized_transactions;
1888
DROP TABLE IF EXISTS `club_template_fields`;
1942
CREATE TABLE `pseudonymized_transactions` (
1889
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1943
  `id` INT(11) NOT NULL AUTO_INCREMENT,
1890
/*!40101 SET character_set_client = utf8 */;
1944
  `hashed_borrowernumber` VARCHAR(60) NOT NULL,
1891
CREATE TABLE `club_template_fields` (
1945
  `has_cardnumber` TINYINT(1) NOT NULL DEFAULT 0,
1892
  `id` int(11) NOT NULL AUTO_INCREMENT,
1946
  `title` LONGTEXT,
1893
  `club_template_id` int(11) NOT NULL,
1947
  `city` LONGTEXT,
1894
  `name` text COLLATE utf8mb4_unicode_ci NOT NULL,
1948
  `state` MEDIUMTEXT default NULL,
1895
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1949
  `zipcode` varchar(25) default NULL,
1896
  `authorised_value_category` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1950
  `country` MEDIUMTEXT,
1951
  `branchcode` varchar(10) NOT NULL default '',
1952
  `categorycode` varchar(10) NOT NULL default '',
1953
  `dateenrolled` date default NULL,
1954
  `sex` varchar(1) default NULL,
1955
  `sort1` varchar(80) default NULL,
1956
  `sort2` varchar(80) default NULL,
1957
  `datetime` datetime default NULL,
1958
  `transaction_branchcode` varchar(10) default NULL,
1959
  `transaction_type` varchar(16) default NULL,
1960
  `itemnumber` int(11) default NULL,
1961
  `itemtype` varchar(10) default NULL,
1962
  `holdingbranch` varchar(10) default null,
1963
  `homebranch` varchar(10) default null,
1964
  `location` varchar(80) default NULL,
1965
  `itemcallnumber` varchar(255) default NULL,
1966
  `ccode` varchar(80) default NULL,
1967
  PRIMARY KEY (`id`),
1897
  PRIMARY KEY (`id`),
1968
  CONSTRAINT `pseudonymized_transactions_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
1898
  KEY `club_template_id` (`club_template_id`),
1969
  CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`),
1899
  CONSTRAINT `club_template_fields_ibfk_1` FOREIGN KEY (`club_template_id`) REFERENCES `club_templates` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
1970
  CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_3` FOREIGN KEY (`transaction_branchcode`) REFERENCES `branches` (`branchcode`)
1971
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1900
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1901
/*!40101 SET character_set_client = @saved_cs_client */;
1972
1902
1973
--
1903
--
1974
-- Table structure for table borrower_attributes
1904
-- Table structure for table `club_templates`
1975
--
1905
--
1976
1906
1977
DROP TABLE IF EXISTS pseudonymized_borrower_attributes;
1907
DROP TABLE IF EXISTS `club_templates`;
1978
CREATE TABLE pseudonymized_borrower_attributes ( -- association table between pseudonymized_transactions and borrower_attributes
1908
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1979
  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT "Row id field",
1909
/*!40101 SET character_set_client = utf8 */;
1980
  `transaction_id` int(11) NOT NULL,
1910
CREATE TABLE `club_templates` (
1981
  `code` varchar(10) NOT NULL COMMENT "foreign key from the borrower_attribute_types table, defines which custom field this value was entered for",
1911
  `id` int(11) NOT NULL AUTO_INCREMENT,
1982
  `attribute` varchar(255) default NULL COMMENT "custom patron field value",
1912
  `name` text COLLATE utf8mb4_unicode_ci NOT NULL,
1983
  CONSTRAINT `pseudonymized_borrower_attributes_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pseudonymized_transactions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1913
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1984
  CONSTRAINT `anonymized_borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE
1914
  `is_enrollable_from_opac` tinyint(1) NOT NULL DEFAULT 0,
1915
  `is_email_required` tinyint(1) NOT NULL DEFAULT 0,
1916
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1917
  `date_created` timestamp NOT NULL DEFAULT current_timestamp(),
1918
  `date_updated` timestamp NULL DEFAULT NULL,
1919
  `is_deletable` tinyint(1) NOT NULL DEFAULT 1,
1920
  PRIMARY KEY (`id`),
1921
  KEY `ct_branchcode` (`branchcode`),
1922
  CONSTRAINT `club_templates_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1985
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1923
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1924
/*!40101 SET character_set_client = @saved_cs_client */;
1986
1925
1987
--
1926
--
1988
-- Table structure for table subscription_frequencies
1927
-- Table structure for table `clubs`
1989
--
1928
--
1990
1929
1991
DROP TABLE IF EXISTS subscription_frequencies;
1930
DROP TABLE IF EXISTS `clubs`;
1992
CREATE TABLE subscription_frequencies (
1931
/*!40101 SET @saved_cs_client     = @@character_set_client */;
1993
    id INTEGER NOT NULL AUTO_INCREMENT,
1932
/*!40101 SET character_set_client = utf8 */;
1994
    description MEDIUMTEXT NOT NULL,
1933
CREATE TABLE `clubs` (
1995
    displayorder INT DEFAULT NULL,
1934
  `id` int(11) NOT NULL AUTO_INCREMENT,
1996
    unit ENUM('day','week','month','year') DEFAULT NULL,
1935
  `club_template_id` int(11) NOT NULL,
1997
    unitsperissue INTEGER NOT NULL DEFAULT '1',
1936
  `name` text COLLATE utf8mb4_unicode_ci NOT NULL,
1998
    issuesperunit INTEGER NOT NULL DEFAULT '1',
1937
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1999
    PRIMARY KEY (id)
1938
  `date_start` date DEFAULT NULL,
1939
  `date_end` date DEFAULT NULL,
1940
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
1941
  `date_created` timestamp NOT NULL DEFAULT current_timestamp(),
1942
  `date_updated` timestamp NULL DEFAULT NULL,
1943
  PRIMARY KEY (`id`),
1944
  KEY `club_template_id` (`club_template_id`),
1945
  KEY `branchcode` (`branchcode`),
1946
  CONSTRAINT `clubs_ibfk_1` FOREIGN KEY (`club_template_id`) REFERENCES `club_templates` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
1947
  CONSTRAINT `clubs_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
2000
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1948
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1949
/*!40101 SET character_set_client = @saved_cs_client */;
2001
1950
2002
--
1951
--
2003
-- Table structure for table subscription_numberpatterns
1952
-- Table structure for table `collections`
2004
--
1953
--
2005
1954
2006
DROP TABLE IF EXISTS subscription_numberpatterns;
1955
DROP TABLE IF EXISTS `collections`;
2007
CREATE TABLE subscription_numberpatterns (
1956
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2008
    id INTEGER NOT NULL AUTO_INCREMENT,
1957
/*!40101 SET character_set_client = utf8 */;
2009
    label VARCHAR(255) NOT NULL,
1958
CREATE TABLE `collections` (
2010
    displayorder INTEGER DEFAULT NULL,
1959
  `colId` int(11) NOT NULL AUTO_INCREMENT,
2011
    description MEDIUMTEXT NOT NULL,
1960
  `colTitle` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
2012
    numberingmethod VARCHAR(255) NOT NULL,
1961
  `colDesc` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
2013
    label1 VARCHAR(255) DEFAULT NULL,
1962
  `colBranchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '''branchcode for branch where item should be held.''',
2014
    add1 INTEGER DEFAULT NULL,
1963
  PRIMARY KEY (`colId`),
2015
    every1 INTEGER DEFAULT NULL,
1964
  KEY `collections_ibfk_1` (`colBranchcode`),
2016
    whenmorethan1 INTEGER DEFAULT NULL,
1965
  CONSTRAINT `collections_ibfk_1` FOREIGN KEY (`colBranchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
2017
    setto1 INTEGER DEFAULT NULL,
2018
    numbering1 VARCHAR(255) DEFAULT NULL,
2019
    label2 VARCHAR(255) DEFAULT NULL,
2020
    add2 INTEGER DEFAULT NULL,
2021
    every2 INTEGER DEFAULT NULL,
2022
    whenmorethan2 INTEGER DEFAULT NULL,
2023
    setto2 INTEGER DEFAULT NULL,
2024
    numbering2 VARCHAR(255) DEFAULT NULL,
2025
    label3 VARCHAR(255) DEFAULT NULL,
2026
    add3 INTEGER DEFAULT NULL,
2027
    every3 INTEGER DEFAULT NULL,
2028
    whenmorethan3 INTEGER DEFAULT NULL,
2029
    setto3 INTEGER DEFAULT NULL,
2030
    numbering3 VARCHAR(255) DEFAULT NULL,
2031
    PRIMARY KEY (id)
2032
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1966
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1967
/*!40101 SET character_set_client = @saved_cs_client */;
2033
1968
2034
--
1969
--
2035
-- Table structure for table `subscription`
1970
-- Table structure for table `collections_tracking`
2036
--
1971
--
2037
1972
2038
DROP TABLE IF EXISTS `subscription`;
1973
DROP TABLE IF EXISTS `collections_tracking`;
2039
CREATE TABLE `subscription` ( -- information related to the subscription
1974
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2040
  `biblionumber` int(11) NOT NULL COMMENT "foreign key for biblio.biblionumber that this subscription is attached to",
1975
/*!40101 SET character_set_client = utf8 */;
2041
  `subscriptionid` int(11) NOT NULL auto_increment COMMENT "unique key for this subscription",
1976
CREATE TABLE `collections_tracking` (
2042
  `librarian` varchar(100) default '' COMMENT "the librarian's username from borrowers.userid",
1977
  `collections_tracking_id` int(11) NOT NULL AUTO_INCREMENT,
2043
  `startdate` date default NULL COMMENT "start date for this subscription",
1978
  `colId` int(11) NOT NULL DEFAULT 0 COMMENT 'collections.colId',
2044
  `aqbooksellerid` int(11) default 0 COMMENT "foreign key for aqbooksellers.id to link to the vendor",
1979
  `itemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'items.itemnumber',
2045
  `cost` int(11) default 0,
1980
  PRIMARY KEY (`collections_tracking_id`)
2046
  `aqbudgetid` int(11) default 0,
2047
  `weeklength` int(11) default 0 COMMENT "subscription length in weeks (will not be filled in if monthlength or numberlength is set)",
2048
  `monthlength` int(11) default 0 COMMENT "subscription length in weeks (will not be filled in if weeklength or numberlength is set)",
2049
  `numberlength` int(11) default 0 COMMENT "subscription length in weeks (will not be filled in if monthlength or weeklength is set)",
2050
  `periodicity` integer default null COMMENT "frequency type links to subscription_frequencies.id",
2051
  countissuesperunit INTEGER NOT NULL DEFAULT 1,
2052
  `notes` LONGTEXT COMMENT "notes",
2053
  `status` varchar(100) NOT NULL default '' COMMENT "status of this subscription",
2054
  `lastvalue1` int(11) default NULL,
2055
  `innerloop1` int(11) default 0,
2056
  `lastvalue2` int(11) default NULL,
2057
  `innerloop2` int(11) default 0,
2058
  `lastvalue3` int(11) default NULL,
2059
  `innerloop3` int(11) default 0,
2060
  `firstacquidate` date default NULL COMMENT "first issue received date",
2061
  `manualhistory` tinyint(1) NOT NULL default 0 COMMENT "yes or no to managing the history manually",
2062
  `irregularity` MEDIUMTEXT COMMENT "any irregularities in the subscription",
2063
  skip_serialseq tinyint(1) NOT NULL DEFAULT 0,
2064
  `letter` varchar(20) default NULL,
2065
  `numberpattern` integer default null COMMENT "the numbering pattern used links to subscription_numberpatterns.id",
2066
  locale VARCHAR(80) DEFAULT NULL COMMENT "for foreign language subscriptions to display months, seasons, etc correctly",
2067
  `distributedto` MEDIUMTEXT,
2068
  `internalnotes` LONGTEXT,
2069
  `callnumber` MEDIUMTEXT COMMENT "default call number",
2070
  `location` varchar(80) NULL default '' COMMENT "default shelving location (items.location)",
2071
  `branchcode` varchar(10) NOT NULL default '' COMMENT "default branches (items.homebranch)",
2072
  `lastbranch` varchar(10),
2073
  `serialsadditems` tinyint(1) NOT NULL default '0' COMMENT "does receiving this serial create an item record",
2074
  `staffdisplaycount` VARCHAR(10) NULL COMMENT "how many issues to show to the staff",
2075
  `opacdisplaycount` VARCHAR(10) NULL COMMENT "how many issues to show to the public",
2076
  `graceperiod` int(11) NOT NULL default '0' COMMENT "grace period in days",
2077
  `enddate` date default NULL COMMENT "subscription end date",
2078
  `closed` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "yes / no if the subscription is closed",
2079
  `reneweddate` date default NULL COMMENT "date of last renewal for the subscription",
2080
  `itemtype` VARCHAR( 10 ) NULL,
2081
  `previousitemtype` VARCHAR( 10 ) NULL,
2082
  `mana_id` int(11) NULL DEFAULT NULL,
2083
  PRIMARY KEY  (`subscriptionid`),
2084
  CONSTRAINT subscription_ibfk_1 FOREIGN KEY (periodicity) REFERENCES subscription_frequencies (id) ON DELETE SET NULL ON UPDATE CASCADE,
2085
  CONSTRAINT subscription_ibfk_2 FOREIGN KEY (numberpattern) REFERENCES subscription_numberpatterns (id) ON DELETE SET NULL ON UPDATE CASCADE,
2086
  CONSTRAINT subscription_ibfk_3 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE
2087
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1981
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1982
/*!40101 SET character_set_client = @saved_cs_client */;
2088
1983
2089
--
1984
--
2090
-- Table structure for table `serial`
1985
-- Table structure for table `columns_settings`
2091
--
1986
--
2092
1987
2093
DROP TABLE IF EXISTS `serial`;
1988
DROP TABLE IF EXISTS `columns_settings`;
2094
CREATE TABLE `serial` ( -- issues related to subscriptions
1989
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2095
  `serialid` int(11) NOT NULL auto_increment COMMENT "unique key for the issue",
1990
/*!40101 SET character_set_client = utf8 */;
2096
  `biblionumber` int(11) NOT NULL COMMENT "foreign key for the biblio.biblionumber that this issue is attached to",
1991
CREATE TABLE `columns_settings` (
2097
  `subscriptionid` int(11) NOT NULL COMMENT "foreign key to the subscription.subscriptionid that this issue is part of",
1992
  `module` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2098
  `serialseq` varchar(100) NOT NULL default '' COMMENT "issue information (volume, number, etc)",
1993
  `page` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2099
  `serialseq_x` varchar( 100 ) NULL DEFAULT NULL COMMENT "first part of issue information",
1994
  `tablename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2100
  `serialseq_y` varchar( 100 ) NULL DEFAULT NULL COMMENT "second part of issue information",
1995
  `columnname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2101
  `serialseq_z` varchar( 100 ) NULL DEFAULT NULL COMMENT "third part of issue information",
1996
  `cannot_be_toggled` int(1) NOT NULL DEFAULT 0,
2102
  `status` tinyint(4) NOT NULL default 0 COMMENT "status code for this issue (see manual for full descriptions)",
1997
  `is_hidden` int(1) NOT NULL DEFAULT 0,
2103
  `planneddate` date default NULL COMMENT "date expected",
1998
  PRIMARY KEY (`module`(191),`page`(191),`tablename`(191),`columnname`(191))
2104
  `notes` MEDIUMTEXT COMMENT "notes",
2105
  `publisheddate` date default NULL COMMENT "date published",
2106
  publisheddatetext varchar(100) default NULL COMMENT "date published (descriptive)",
2107
  `claimdate` date default NULL COMMENT "date claimed",
2108
  claims_count int(11) default 0 COMMENT "number of claims made related to this issue",
2109
  `routingnotes` MEDIUMTEXT COMMENT "notes from the routing list",
2110
  PRIMARY KEY (`serialid`),
2111
  CONSTRAINT serial_ibfk_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
2112
  CONSTRAINT serial_ibfk_2 FOREIGN KEY (subscriptionid) REFERENCES subscription (subscriptionid) ON DELETE CASCADE ON UPDATE CASCADE
2113
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1999
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2000
/*!40101 SET character_set_client = @saved_cs_client */;
2114
2001
2115
--
2002
--
2116
-- Table structure for table `subscriptionhistory`
2003
-- Table structure for table `course_instructors`
2117
--
2004
--
2118
2005
2119
DROP TABLE IF EXISTS `subscriptionhistory`;
2006
DROP TABLE IF EXISTS `course_instructors`;
2120
CREATE TABLE `subscriptionhistory` (
2007
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2121
  `biblionumber` int(11) NOT NULL,
2008
/*!40101 SET character_set_client = utf8 */;
2122
  `subscriptionid` int(11) NOT NULL,
2009
CREATE TABLE `course_instructors` (
2123
  `histstartdate` date default NULL,
2010
  `course_id` int(11) NOT NULL COMMENT 'foreign key to link to courses.course_id',
2124
  `histenddate` date default NULL,
2011
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key to link to borrowers.borrowernumber for instructor information',
2125
  `missinglist` LONGTEXT NOT NULL,
2012
  PRIMARY KEY (`course_id`,`borrowernumber`),
2126
  `recievedlist` LONGTEXT NOT NULL,
2013
  KEY `borrowernumber` (`borrowernumber`),
2127
  `opacnote` LONGTEXT NULL,
2014
  CONSTRAINT `course_instructors_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2128
  `librariannote` LONGTEXT NULL,
2015
  CONSTRAINT `course_instructors_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`)
2129
  PRIMARY KEY  (`subscriptionid`),
2130
  CONSTRAINT subscription_history_ibfk_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
2131
  CONSTRAINT subscription_history_ibfk_2 FOREIGN KEY (subscriptionid) REFERENCES subscription (subscriptionid) ON DELETE CASCADE ON UPDATE CASCADE
2132
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2016
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2017
/*!40101 SET character_set_client = @saved_cs_client */;
2133
2018
2134
--
2019
--
2135
-- Table structure for table `subscriptionroutinglist`
2020
-- Table structure for table `course_items`
2136
--
2021
--
2137
2022
2138
DROP TABLE IF EXISTS `subscriptionroutinglist`;
2023
DROP TABLE IF EXISTS `course_items`;
2139
CREATE TABLE `subscriptionroutinglist` ( -- information related to the routing lists attached to subscriptions
2024
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2140
  `routingid` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
2025
/*!40101 SET character_set_client = utf8 */;
2141
  `borrowernumber` int(11) NOT NULL COMMENT "foreign key from the borrowers table, defines with patron is on the routing list",
2026
CREATE TABLE `course_items` (
2142
  `ranking` int(11) default NULL COMMENT "where the patron stands in line to receive the serial",
2027
  `ci_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'course item id',
2143
  `subscriptionid` int(11) NOT NULL COMMENT "foreign key from the subscription table, defines which subscription this routing list is for",
2028
  `itemnumber` int(11) NOT NULL COMMENT 'items.itemnumber for the item on reserve',
2144
  PRIMARY KEY  (`routingid`),
2029
  `itype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'new itemtype for the item to have while on reserve (optional)',
2145
  UNIQUE (`subscriptionid`, `borrowernumber`),
2030
  `itype_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates if itype should be changed while on course reserve',
2146
  CONSTRAINT `subscriptionroutinglist_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
2031
  `itype_storage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a place to store the itype when item is on course reserve',
2147
    ON DELETE CASCADE ON UPDATE CASCADE,
2032
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'new category code for the item to have while on reserve (optional)',
2148
  CONSTRAINT `subscriptionroutinglist_ibfk_2` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`)
2033
  `ccode_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates if ccode should be changed while on course reserve',
2149
    ON DELETE CASCADE ON UPDATE CASCADE
2034
  `ccode_storage` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a place to store the ccode when item is on course reserve',
2035
  `homebranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'new home branch for the item to have while on reserve (optional)',
2036
  `homebranch_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates if homebranch should be changed while on course reserve',
2037
  `homebranch_storage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a place to store the homebranch when item is on course reserve',
2038
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'new holding branch for the item to have while on reserve (optional)',
2039
  `holdingbranch_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates if itype should be changed while on course reserve',
2040
  `holdingbranch_storage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a place to store the holdingbranch when item is on course reserve',
2041
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'new shelving location for the item to have while on reseve (optional)',
2042
  `location_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates if itype should be changed while on course reserve',
2043
  `location_storage` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a place to store the location when the item is on course reserve',
2044
  `enabled` enum('yes','no') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'no' COMMENT 'if at least one enabled course has this item on reseve, this field will be ''yes'', otherwise it will be ''no''',
2045
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2046
  PRIMARY KEY (`ci_id`),
2047
  UNIQUE KEY `itemnumber` (`itemnumber`),
2048
  KEY `holdingbranch` (`holdingbranch`),
2049
  KEY `fk_course_items_homebranch` (`homebranch`),
2050
  KEY `fk_course_items_homebranch_storage` (`homebranch_storage`),
2051
  CONSTRAINT `course_items_ibfk_1` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2052
  CONSTRAINT `course_items_ibfk_2` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
2053
  CONSTRAINT `fk_course_items_homebranch` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
2054
  CONSTRAINT `fk_course_items_homebranch_storage` FOREIGN KEY (`homebranch_storage`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
2150
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2055
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2056
/*!40101 SET character_set_client = @saved_cs_client */;
2151
2057
2152
--
2058
--
2153
-- Table structure for table `systempreferences`
2059
-- Table structure for table `course_reserves`
2154
--
2060
--
2155
2061
2156
DROP TABLE IF EXISTS `systempreferences`;
2062
DROP TABLE IF EXISTS `course_reserves`;
2157
CREATE TABLE `systempreferences` ( -- global system preferences
2063
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2158
  `variable` varchar(50) NOT NULL default '' COMMENT "system preference name",
2064
/*!40101 SET character_set_client = utf8 */;
2159
  `value` MEDIUMTEXT COMMENT "system preference values",
2065
CREATE TABLE `course_reserves` (
2160
  `options` LONGTEXT COMMENT "options for multiple choice system preferences",
2066
  `cr_id` int(11) NOT NULL AUTO_INCREMENT,
2161
  `explanation` MEDIUMTEXT COMMENT "descriptive text for the system preference",
2067
  `course_id` int(11) NOT NULL COMMENT 'foreign key to link to courses.course_id',
2162
  `type` varchar(20) default NULL COMMENT "type of question this preference asks (multiple choice, plain text, yes or no, etc)",
2068
  `ci_id` int(11) NOT NULL COMMENT 'foreign key to link to courses_items.ci_id',
2163
  PRIMARY KEY  (`variable`)
2069
  `staff_note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'staff only note',
2070
  `public_note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'public, OPAC visible note',
2071
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2072
  PRIMARY KEY (`cr_id`),
2073
  UNIQUE KEY `pseudo_key` (`course_id`,`ci_id`),
2074
  KEY `course_id` (`course_id`),
2075
  KEY `course_reserves_ibfk_2` (`ci_id`),
2076
  CONSTRAINT `course_reserves_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`),
2077
  CONSTRAINT `course_reserves_ibfk_2` FOREIGN KEY (`ci_id`) REFERENCES `course_items` (`ci_id`) ON DELETE CASCADE ON UPDATE CASCADE
2164
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2078
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2079
/*!40101 SET character_set_client = @saved_cs_client */;
2165
2080
2166
--
2081
--
2167
-- Table structure for table `tags`
2082
-- Table structure for table `courses`
2168
--
2083
--
2169
2084
2170
DROP TABLE IF EXISTS `tags`;
2085
DROP TABLE IF EXISTS `courses`;
2171
CREATE TABLE `tags` (
2086
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2172
  `entry` varchar(255) NOT NULL default '',
2087
/*!40101 SET character_set_client = utf8 */;
2173
  `weight` bigint(20) NOT NULL default 0,
2088
CREATE TABLE `courses` (
2174
  PRIMARY KEY  (`entry` (191))
2089
  `course_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id for the course',
2175
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2090
  `department` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the authorised value for the DEPARTMENT',
2091
  `course_number` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the ''course number'' assigned to a course',
2092
  `section` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the ''section'' of a course',
2093
  `course_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the name of the course',
2094
  `term` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the authorised value for the TERM',
2095
  `staff_note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the text of the staff only note',
2096
  `public_note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the text of the public / opac note',
2097
  `students_count` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'how many students will be taking this course/section',
2098
  `enabled` enum('yes','no') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'yes' COMMENT 'determines whether the course is active',
2099
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2100
  PRIMARY KEY (`course_id`)
2101
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2102
/*!40101 SET character_set_client = @saved_cs_client */;
2176
2103
2177
--
2104
--
2178
-- Table structure for table `tags_all`
2105
-- Table structure for table `cover_images`
2179
--
2106
--
2180
2107
2181
DROP TABLE IF EXISTS `tags_all`;
2108
DROP TABLE IF EXISTS `cover_images`;
2182
CREATE TABLE `tags_all` ( -- all of the tags
2109
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2183
  `tag_id`         int(11) NOT NULL auto_increment COMMENT "unique id and primary key",
2110
/*!40101 SET character_set_client = utf8 */;
2184
  `borrowernumber` int(11) DEFAULT NULL COMMENT "the patron who added the tag (borrowers.borrowernumber)",
2111
CREATE TABLE `cover_images` (
2185
  `biblionumber`   int(11) NOT NULL COMMENT "the bib record this tag was left on (biblio.biblionumber)",
2112
  `imagenumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for the image',
2186
  `term`      varchar(191) NOT NULL COLLATE utf8mb4_bin COMMENT "the tag",
2113
  `biblionumber` int(11) DEFAULT NULL COMMENT 'foreign key from biblio table to link to biblionumber',
2187
  `language`       int(4) default NULL COMMENT "the language the tag was left in",
2114
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key from item table to link to itemnumber',
2188
  `date_created` datetime  NOT NULL COMMENT "the date the tag was added",
2115
  `mimetype` varchar(15) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'image type',
2189
  PRIMARY KEY  (`tag_id`),
2116
  `imagefile` mediumblob NOT NULL COMMENT 'image file contents',
2190
  KEY `tags_borrowers_fk_1` (`borrowernumber`),
2117
  `thumbnail` mediumblob NOT NULL COMMENT 'thumbnail file contents',
2191
  KEY `tags_biblionumber_fk_1` (`biblionumber`),
2118
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'image creation/update time',
2192
  CONSTRAINT `tags_borrowers_fk_1` FOREIGN KEY (`borrowernumber`)
2119
  PRIMARY KEY (`imagenumber`),
2193
        REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
2120
  KEY `bibliocoverimage_fk1` (`biblionumber`),
2194
  CONSTRAINT `tags_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
2121
  KEY `bibliocoverimage_fk2` (`itemnumber`),
2195
        REFERENCES `biblio`     (`biblionumber`)  ON DELETE CASCADE ON UPDATE CASCADE
2122
  CONSTRAINT `bibliocoverimage_fk1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2196
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2123
  CONSTRAINT `bibliocoverimage_fk2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
2124
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2125
/*!40101 SET character_set_client = @saved_cs_client */;
2197
2126
2198
--
2127
--
2199
-- Table structure for table `tags_approval`
2128
-- Table structure for table `creator_batches`
2200
--
2129
--
2201
2130
2202
DROP TABLE IF EXISTS `tags_approval`;
2131
DROP TABLE IF EXISTS `creator_batches`;
2203
CREATE TABLE `tags_approval` ( -- approved tags
2132
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2204
  `term`   varchar(191) NOT NULL COLLATE utf8mb4_bin COMMENT "the tag",
2133
/*!40101 SET character_set_client = utf8 */;
2205
  `approved`     int(1) NOT NULL default '0' COMMENT "whether the tag is approved or not (1=yes, 0=pending, -1=rejected)",
2134
CREATE TABLE `creator_batches` (
2206
  `date_approved` datetime       default NULL COMMENT "the date this tag was approved",
2135
  `label_id` int(11) NOT NULL AUTO_INCREMENT,
2207
  `approved_by` int(11)          default NULL COMMENT "the librarian who approved the tag (borrowers.borrowernumber)",
2136
  `batch_id` int(10) NOT NULL DEFAULT 1,
2208
  `weight_total` int(9) NOT NULL default '1' COMMENT "the total number of times this tag was used",
2137
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2209
  PRIMARY KEY  (`term`),
2138
  `item_number` int(11) DEFAULT NULL,
2210
  KEY `tags_approval_borrowers_fk_1` (`approved_by`),
2139
  `borrower_number` int(11) DEFAULT NULL,
2211
  CONSTRAINT `tags_approval_borrowers_fk_1` FOREIGN KEY (`approved_by`)
2140
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2212
        REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
2141
  `branch_code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'NB',
2142
  `creator` char(15) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Labels',
2143
  PRIMARY KEY (`label_id`),
2144
  KEY `branch_fk_constraint` (`branch_code`),
2145
  KEY `item_fk_constraint` (`item_number`),
2146
  KEY `borrower_fk_constraint` (`borrower_number`),
2147
  CONSTRAINT `creator_batches_ibfk_1` FOREIGN KEY (`borrower_number`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2148
  CONSTRAINT `creator_batches_ibfk_2` FOREIGN KEY (`branch_code`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE,
2149
  CONSTRAINT `creator_batches_ibfk_3` FOREIGN KEY (`item_number`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE
2213
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2150
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2151
/*!40101 SET character_set_client = @saved_cs_client */;
2214
2152
2215
--
2153
--
2216
-- Table structure for table `tags_index`
2154
-- Table structure for table `creator_images`
2217
--
2155
--
2218
2156
2219
DROP TABLE IF EXISTS `tags_index`;
2157
DROP TABLE IF EXISTS `creator_images`;
2220
CREATE TABLE `tags_index` ( -- a weighted list of all tags and where they are used
2158
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2221
  `term`    varchar(191) NOT NULL COLLATE utf8mb4_bin COMMENT "the tag",
2159
/*!40101 SET character_set_client = utf8 */;
2222
  `biblionumber` int(11) NOT NULL COMMENT "the bib record this tag was used on (biblio.biblionumber)",
2160
CREATE TABLE `creator_images` (
2223
  `weight`        int(9) NOT NULL default '1' COMMENT "the number of times this term was used on this bib record",
2161
  `image_id` int(4) NOT NULL AUTO_INCREMENT,
2224
  PRIMARY KEY  (`term`,`biblionumber`),
2162
  `imagefile` mediumblob DEFAULT NULL,
2225
  KEY `tags_index_biblionumber_fk_1` (`biblionumber`),
2163
  `image_name` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DEFAULT',
2226
  CONSTRAINT `tags_index_term_fk_1` FOREIGN KEY (`term`)
2164
  PRIMARY KEY (`image_id`),
2227
        REFERENCES `tags_approval` (`term`)  ON DELETE CASCADE ON UPDATE CASCADE,
2165
  UNIQUE KEY `image_name_index` (`image_name`)
2228
  CONSTRAINT `tags_index_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
2229
        REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
2230
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2166
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2167
/*!40101 SET character_set_client = @saved_cs_client */;
2231
2168
2232
--
2169
--
2233
-- Table structure for table `userflags`
2170
-- Table structure for table `creator_layouts`
2234
--
2171
--
2235
2172
2236
DROP TABLE IF EXISTS `userflags`;
2173
DROP TABLE IF EXISTS `creator_layouts`;
2237
CREATE TABLE `userflags` (
2174
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2238
  `bit` int(11) NOT NULL default 0,
2175
/*!40101 SET character_set_client = utf8 */;
2239
  `flag` varchar(30) default NULL,
2176
CREATE TABLE `creator_layouts` (
2240
  `flagdesc` varchar(255) default NULL,
2177
  `layout_id` int(4) NOT NULL AUTO_INCREMENT,
2241
  `defaulton` int(11) default NULL,
2178
  `barcode_type` char(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CODE39',
2242
  PRIMARY KEY  (`bit`)
2179
  `start_label` int(2) NOT NULL DEFAULT 1,
2243
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2180
  `printing_type` char(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'BAR',
2181
  `layout_name` char(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DEFAULT',
2182
  `guidebox` int(1) DEFAULT 0,
2183
  `oblique_title` int(1) DEFAULT 1,
2184
  `font` char(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'TR',
2185
  `font_size` int(4) NOT NULL DEFAULT 10,
2186
  `units` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'POINT',
2187
  `callnum_split` int(1) DEFAULT 0,
2188
  `text_justify` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'L',
2189
  `format_string` varchar(210) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'barcode',
2190
  `layout_xml` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
2191
  `creator` char(15) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Labels',
2192
  PRIMARY KEY (`layout_id`)
2193
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2194
/*!40101 SET character_set_client = @saved_cs_client */;
2244
2195
2245
--
2196
--
2246
-- Table structure for table `virtualshelves`
2197
-- Table structure for table `creator_templates`
2247
--
2198
--
2248
2199
2249
DROP TABLE IF EXISTS `virtualshelves`;
2200
DROP TABLE IF EXISTS `creator_templates`;
2250
CREATE TABLE `virtualshelves` ( -- information about lists (or virtual shelves)
2201
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2251
  `shelfnumber` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
2202
/*!40101 SET character_set_client = utf8 */;
2252
  `shelfname` varchar(255) default NULL COMMENT "name of the list",
2203
CREATE TABLE `creator_templates` (
2253
  `owner` int default NULL COMMENT "foreign key linking to the borrowers table (using borrowernumber) for the creator of this list (changed from varchar(80) to int)",
2204
  `template_id` int(4) NOT NULL AUTO_INCREMENT,
2254
  `category` varchar(1) default NULL COMMENT "type of list (private [1], public [2])",
2205
  `profile_id` int(4) DEFAULT NULL,
2255
  `sortfield` varchar(16) default 'title' COMMENT "the field this list is sorted on",
2206
  `template_code` char(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DEFAULT TEMPLATE',
2256
  `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time the list was last modified",
2207
  `template_desc` char(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Default description',
2257
  `created_on` datetime NOT NULL COMMENT "creation time",
2208
  `page_width` float NOT NULL DEFAULT 0,
2258
  `allow_change_from_owner` tinyint(1) default 1 COMMENT "can owner change contents?",
2209
  `page_height` float NOT NULL DEFAULT 0,
2259
  `allow_change_from_others` tinyint(1) default 0 COMMENT "can others change contents?",
2210
  `label_width` float NOT NULL DEFAULT 0,
2260
  PRIMARY KEY  (`shelfnumber`),
2211
  `label_height` float NOT NULL DEFAULT 0,
2261
  CONSTRAINT `virtualshelves_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL -- no cascaded delete, please see HandleDelBorrower in Members.pm
2212
  `top_text_margin` float NOT NULL DEFAULT 0,
2213
  `left_text_margin` float NOT NULL DEFAULT 0,
2214
  `top_margin` float NOT NULL DEFAULT 0,
2215
  `left_margin` float NOT NULL DEFAULT 0,
2216
  `cols` int(2) NOT NULL DEFAULT 0,
2217
  `rows` int(2) NOT NULL DEFAULT 0,
2218
  `col_gap` float NOT NULL DEFAULT 0,
2219
  `row_gap` float NOT NULL DEFAULT 0,
2220
  `units` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'POINT',
2221
  `creator` char(15) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Labels',
2222
  PRIMARY KEY (`template_id`),
2223
  KEY `template_profile_fk_constraint` (`profile_id`)
2224
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2225
/*!40101 SET character_set_client = @saved_cs_client */;
2226
2227
--
2228
-- Table structure for table `currency`
2229
--
2230
2231
DROP TABLE IF EXISTS `currency`;
2232
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2233
/*!40101 SET character_set_client = utf8 */;
2234
CREATE TABLE `currency` (
2235
  `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
2236
  `symbol` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2237
  `isocode` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2238
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2239
  `rate` float(15,5) DEFAULT NULL,
2240
  `active` tinyint(1) DEFAULT NULL,
2241
  `archived` tinyint(1) DEFAULT 0,
2242
  `p_sep_by_space` tinyint(1) DEFAULT 0,
2243
  PRIMARY KEY (`currency`)
2262
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2244
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2245
/*!40101 SET character_set_client = @saved_cs_client */;
2263
2246
2264
--
2247
--
2265
-- Table structure for table `virtualshelfcontents`
2248
-- Table structure for table `deletedbiblio`
2266
--
2249
--
2267
2250
2268
DROP TABLE IF EXISTS `virtualshelfcontents`;
2251
DROP TABLE IF EXISTS `deletedbiblio`;
2269
CREATE TABLE `virtualshelfcontents` ( -- information about the titles in a list (or virtual shelf)
2252
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2270
  `shelfnumber` int(11) NOT NULL default 0 COMMENT "foreign key linking to the virtualshelves table, defines the list that this record has been added to",
2253
/*!40101 SET character_set_client = utf8 */;
2271
  `biblionumber` int(11) NOT NULL default 0 COMMENT "foreign key linking to the biblio table, defines the bib record that has been added to the list",
2254
CREATE TABLE `deletedbiblio` (
2272
  `flags` int(11) default NULL,
2255
  `biblionumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned to each bibliographic record',
2273
  `dateadded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "date and time this bib record was added to the list",
2256
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foriegn key from the biblio_framework table to identify which framework was used in cataloging this record',
2274
  `borrowernumber` int COMMENT "borrower number that created this list entry (only the first one is saved: no need for use in/as key)",
2257
  `author` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'statement of responsibility from MARC record (100$a in MARC21)',
2275
  KEY `shelfnumber` (`shelfnumber`),
2258
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'title (without the subtitle) from the MARC record (245$a in MARC21)',
2276
  KEY `biblionumber` (`biblionumber`),
2259
  `medium` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'medium from the MARC record (245$h in MARC21)',
2277
  CONSTRAINT `virtualshelfcontents_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2260
  `subtitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'remainder of the title from the MARC record (245$b in MARC21)',
2278
  CONSTRAINT `shelfcontents_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2261
  `part_number` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'part number from the MARC record (245$n in MARC21)',
2279
  CONSTRAINT `shelfcontents_ibfk_3` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL -- no cascaded delete, please see HandleDelBorrower in Members.pm
2262
  `part_name` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'part name from the MARC record (245$p in MARC21)',
2263
  `unititle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'uniform title (without the subtitle) from the MARC record (240$a in MARC21)',
2264
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'values from the general notes field in the MARC record (500$a in MARC21) split by bar (|)',
2265
  `serial` tinyint(1) DEFAULT NULL COMMENT 'Boolean indicating whether biblio is for a serial',
2266
  `seriestitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2267
  `copyrightdate` smallint(6) DEFAULT NULL COMMENT 'publication or copyright date from the MARC record',
2268
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this record was last touched',
2269
  `datecreated` date NOT NULL COMMENT 'the date this record was added to Koha',
2270
  `abstract` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'summary from the MARC record (520$a in MARC21)',
2271
  PRIMARY KEY (`biblionumber`),
2272
  KEY `blbnoidx` (`biblionumber`)
2280
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2273
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2274
/*!40101 SET character_set_client = @saved_cs_client */;
2281
2275
2282
--
2276
--
2283
-- Table structure for table `virtualshelfshares`
2277
-- Table structure for table `deletedbiblio_metadata`
2284
--
2278
--
2285
2279
2286
DROP TABLE IF EXISTS `virtualshelfshares`;
2280
DROP TABLE IF EXISTS `deletedbiblio_metadata`;
2287
CREATE TABLE `virtualshelfshares` ( -- shared private lists
2281
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2288
  `id` int AUTO_INCREMENT PRIMARY KEY COMMENT "unique key",
2282
/*!40101 SET character_set_client = utf8 */;
2289
  `shelfnumber` int NOT NULL COMMENT "foreign key for virtualshelves",
2283
CREATE TABLE `deletedbiblio_metadata` (
2290
  `borrowernumber` int COMMENT "borrower that accepted access to this list",
2284
  `id` int(11) NOT NULL AUTO_INCREMENT,
2291
  `invitekey` varchar(10) COMMENT "temporary string used in accepting the invitation to access thist list; not-empty means that the invitation has not been accepted yet",
2285
  `biblionumber` int(11) NOT NULL,
2292
  `sharedate` datetime COMMENT "date of invitation or acceptance of invitation",
2286
  `format` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
2293
  CONSTRAINT `virtualshelfshares_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2287
  `schema` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
2294
  CONSTRAINT `virtualshelfshares_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL -- no cascaded delete, please see HandleDelBorrower in Members.pm
2288
  `metadata` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2289
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2290
  PRIMARY KEY (`id`),
2291
  UNIQUE KEY `deletedbiblio_metadata_uniq_key` (`biblionumber`,`format`,`schema`),
2292
  KEY `timestamp` (`timestamp`),
2293
  CONSTRAINT `deletedrecord_metadata_fk_1` FOREIGN KEY (`biblionumber`) REFERENCES `deletedbiblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
2295
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2294
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2295
/*!40101 SET character_set_client = @saved_cs_client */;
2296
2296
2297
--
2297
--
2298
-- Table structure for table `z3950servers`
2298
-- Table structure for table `deletedbiblioitems`
2299
--
2299
--
2300
2300
2301
DROP TABLE IF EXISTS `z3950servers`;
2301
DROP TABLE IF EXISTS `deletedbiblioitems`;
2302
CREATE TABLE `z3950servers` ( -- connection information for the Z39.50 targets used in cataloging
2302
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2303
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
2303
/*!40101 SET character_set_client = utf8 */;
2304
  `host` varchar(255) default NULL COMMENT "target's host name",
2304
CREATE TABLE `deletedbiblioitems` (
2305
  `port` int(11) default NULL COMMENT "port number used to connect to target",
2305
  `biblioitemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'primary key, unique identifier assigned by Koha',
2306
  `db` varchar(255) default NULL COMMENT "target's database name",
2306
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key linking this table to the biblio table',
2307
  `userid` varchar(255) default NULL COMMENT "username needed to log in to target",
2307
  `volume` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2308
  `password` varchar(255) default NULL COMMENT "password needed to log in to target",
2308
  `number` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2309
  `servername` LONGTEXT NOT NULL COMMENT "name given to the target by the library",
2309
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'biblio level item type (MARC21 942$c)',
2310
  `checked` smallint(6) default NULL COMMENT "whether this target is checked by default  (1 for yes, 0 for no)",
2310
  `isbn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISBN (MARC21 020$a)',
2311
  `rank` int(11) default NULL COMMENT "where this target appears in the list of targets",
2311
  `issn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISSN (MARC21 022$a)',
2312
  `syntax` varchar(80) default NULL COMMENT "marc format provided by this target",
2312
  `ean` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2313
  `timeout` int(11) NOT NULL DEFAULT '0' COMMENT "number of seconds before Koha stops trying to access this server",
2313
  `publicationyear` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2314
  `servertype` enum('zed','sru') NOT NULL default 'zed' COMMENT "zed means z39.50 server",
2314
  `publishercode` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publisher (MARC21 260$b)',
2315
  `encoding` MEDIUMTEXT default NULL COMMENT "characters encoding provided by this target",
2315
  `volumedate` date DEFAULT NULL,
2316
  `recordtype` enum('authority','biblio') NOT NULL default 'biblio' COMMENT "server contains bibliographic or authority records",
2316
  `volumedesc` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'volume information (MARC21 362$a)',
2317
  `sru_options` varchar(255) default NULL COMMENT "options like sru=get, sru_version=1.1; will be passed to the server via ZOOM",
2317
  `collectiontitle` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2318
  `sru_fields` LONGTEXT default NULL COMMENT "contains the mapping between the Z3950 search fields and the specific SRU server indexes",
2318
  `collectionissn` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2319
  `add_xslt` LONGTEXT default NULL COMMENT "zero or more paths to XSLT files to be processed on the search results",
2319
  `collectionvolume` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2320
  `attributes` VARCHAR(255) default NULL COMMENT "additional attributes passed to PQF queries",
2320
  `editionstatement` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2321
  PRIMARY KEY  (`id`)
2321
  `editionresponsibility` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2322
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2323
  `illus` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'illustrations (MARC21 300$b)',
2324
  `pages` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'number of pages (MARC21 300$c)',
2325
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2326
  `size` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'material size (MARC21 300$c)',
2327
  `place` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publication place (MARC21 260$a)',
2328
  `lccn` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'library of congress control number (MARC21 010$a)',
2329
  `url` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'url (MARC21 856$u)',
2330
  `cn_source` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'classification source (MARC21 942$2)',
2331
  `cn_class` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2332
  `cn_item` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2333
  `cn_suffix` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2334
  `cn_sort` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'normalized version of the call number used for sorting',
2335
  `agerestriction` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'target audience/age restriction from the bib record (MARC21 521$a)',
2336
  `totalissues` int(10) DEFAULT NULL,
2337
  PRIMARY KEY (`biblioitemnumber`),
2338
  KEY `bibinoidx` (`biblioitemnumber`),
2339
  KEY `bibnoidx` (`biblionumber`),
2340
  KEY `itemtype_idx` (`itemtype`),
2341
  KEY `isbn` (`isbn`(255)),
2342
  KEY `ean` (`ean`(255)),
2343
  KEY `publishercode` (`publishercode`(191)),
2344
  KEY `timestamp` (`timestamp`)
2322
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2345
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2346
/*!40101 SET character_set_client = @saved_cs_client */;
2323
2347
2324
--
2348
--
2325
-- Table structure for table `zebraqueue`
2349
-- Table structure for table `deletedborrowers`
2326
--
2350
--
2327
2351
2328
DROP TABLE IF EXISTS `zebraqueue`;
2352
DROP TABLE IF EXISTS `deletedborrowers`;
2329
CREATE TABLE `zebraqueue` (
2353
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2330
  `id` int(11) NOT NULL auto_increment,
2354
/*!40101 SET character_set_client = utf8 */;
2331
  `biblio_auth_number` bigint(20) unsigned NOT NULL default '0',
2355
CREATE TABLE `deletedborrowers` (
2332
  `operation` char(20) NOT NULL default '',
2356
  `borrowernumber` int(11) NOT NULL DEFAULT 0 COMMENT 'primary key, Koha assigned ID number for patrons/borrowers',
2333
  `server` char(20) NOT NULL default '',
2357
  `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unique key, library assigned ID number for patrons/borrowers',
2334
  `done` int(11) NOT NULL default '0',
2358
  `surname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s last name (surname)',
2335
  `time` timestamp NOT NULL default CURRENT_TIMESTAMP,
2359
  `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s first name',
2336
  PRIMARY KEY  (`id`),
2360
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s title, for example: Mr. or Mrs.',
2337
  KEY `zebraqueue_lookup` (`server`, `biblio_auth_number`, `operation`, `done`)
2361
  `othernames` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any other names associated with the patron/borrower',
2362
  `initials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'initials for your patron/borrower',
2363
  `streetnumber` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the house number for your patron/borrower''s primary address',
2364
  `streettype` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the street type (Rd., Blvd, etc) for your patron/borrower''s primary address',
2365
  `address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for your patron/borrower''s primary address',
2366
  `address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for your patron/borrower''s primary address',
2367
  `city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city or town for your patron/borrower''s primary address',
2368
  `state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state or province for your patron/borrower''s primary address',
2369
  `zipcode` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zip or postal code for your patron/borrower''s primary address',
2370
  `country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for your patron/borrower''s primary address',
2371
  `email` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary email address for your patron/borrower''s primary address',
2372
  `phone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the primary phone number for your patron/borrower''s primary address',
2373
  `mobile` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the other phone number for your patron/borrower''s primary address',
2374
  `fax` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the fax number for your patron/borrower''s primary address',
2375
  `emailpro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the secondary email addres for your patron/borrower''s primary address',
2376
  `phonepro` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the secondary phone number for your patron/borrower''s primary address',
2377
  `B_streetnumber` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the house number for your patron/borrower''s alternate address',
2378
  `B_streettype` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the street type (Rd., Blvd, etc) for your patron/borrower''s alternate address',
2379
  `B_address` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for your patron/borrower''s alternate address',
2380
  `B_address2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for your patron/borrower''s alternate address',
2381
  `B_city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city or town for your patron/borrower''s alternate address',
2382
  `B_state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state for your patron/borrower''s alternate address',
2383
  `B_zipcode` tinytext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zip or postal code for your patron/borrower''s alternate address',
2384
  `B_country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for your patron/borrower''s alternate address',
2385
  `B_email` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the patron/borrower''s alternate email address',
2386
  `B_phone` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the patron/borrower''s alternate phone number',
2387
  `dateofbirth` date DEFAULT NULL COMMENT 'the patron/borrower''s date of birth (YYYY-MM-DD)',
2388
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the branches table, includes the code of the patron/borrower''s home branch',
2389
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the categories table, includes the code of the patron category',
2390
  `dateenrolled` date DEFAULT NULL COMMENT 'date the patron was added to Koha (YYYY-MM-DD)',
2391
  `dateexpiry` date DEFAULT NULL COMMENT 'date the patron/borrower''s card is set to expire (YYYY-MM-DD)',
2392
  `date_renewed` date DEFAULT NULL COMMENT 'date the patron/borrower''s card was last renewed',
2393
  `gonenoaddress` tinyint(1) DEFAULT NULL COMMENT 'set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having an unconfirmed address',
2394
  `lost` tinyint(1) DEFAULT NULL COMMENT 'set to 1 for yes and 0 for no, flag to note that library marked this patron/borrower as having lost their card',
2395
  `debarred` date DEFAULT NULL COMMENT 'until this date the patron can only check-in (no loans, no holds, etc.), is a fine based on days instead of money (YYYY-MM-DD)',
2396
  `debarredcomment` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'comment on the stop of patron',
2397
  `contactname` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children and profesionals to include surname or last name of guarantor or organization name',
2398
  `contactfirstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include first name of guarantor',
2399
  `contacttitle` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include title (Mr., Mrs., etc) of guarantor',
2400
  `borrowernotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note on the patron/borrower''s account that is only visible in the staff interface',
2401
  `relationship` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used for children to include the relationship to their guarantor',
2402
  `sex` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s gender',
2403
  `password` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s encrypted password',
2404
  `flags` int(11) DEFAULT NULL COMMENT 'will include a number associated with the staff member''s permissions',
2405
  `userid` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'patron/borrower''s opac and/or staff interface log in',
2406
  `opacnote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note on the patron/borrower''s account that is visible in the OPAC and staff interface',
2407
  `contactnote` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a note related to the patron/borrower''s alternate address',
2408
  `sort1` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a field that can be used for any information unique to the library',
2409
  `sort2` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a field that can be used for any information unique to the library',
2410
  `altcontactfirstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'first name of alternate contact for the patron/borrower',
2411
  `altcontactsurname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'surname or last name of the alternate contact for the patron/borrower',
2412
  `altcontactaddress1` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the first address line for the alternate contact for the patron/borrower',
2413
  `altcontactaddress2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the second address line for the alternate contact for the patron/borrower',
2414
  `altcontactaddress3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the city for the alternate contact for the patron/borrower',
2415
  `altcontactstate` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the state for the alternate contact for the patron/borrower',
2416
  `altcontactzipcode` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the zipcode for the alternate contact for the patron/borrower',
2417
  `altcontactcountry` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the country for the alternate contact for the patron/borrower',
2418
  `altcontactphone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the phone number for the alternate contact for the patron/borrower',
2419
  `smsalertnumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the mobile phone number where the patron/borrower would like to receive notices (if SMS turned on)',
2420
  `sms_provider_id` int(11) DEFAULT NULL COMMENT 'the provider of the mobile phone number defined in smsalertnumber',
2421
  `privacy` int(11) NOT NULL DEFAULT 1 COMMENT 'patron/borrower''s privacy settings related to their checkout history  KEY `borrowernumber` (`borrowernumber`),',
2422
  `privacy_guarantor_fines` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'controls if relatives can see this patron''s fines',
2423
  `privacy_guarantor_checkouts` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'controls if relatives can see this patron''s checkouts',
2424
  `checkprevcheckout` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'inherit' COMMENT 'produce a warning for this patron if this item has previously been checked out to this patron if ''yes'', not if ''no'', defer to category setting if ''inherit''.',
2425
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'time of last change could be useful for synchronization with external systems (among others)',
2426
  `lastseen` datetime DEFAULT NULL COMMENT 'last time a patron has been seen (connected at the OPAC or staff interface)',
2427
  `lang` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'lang to use to send notices to this patron',
2428
  `login_attempts` int(4) NOT NULL DEFAULT 0 COMMENT 'number of failed login attemps',
2429
  `overdrive_auth_token` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'persist OverDrive auth token',
2430
  `anonymized` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'flag for data anonymization',
2431
  `autorenew_checkouts` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'flag for allowing auto-renewal',
2432
  KEY `borrowernumber` (`borrowernumber`),
2433
  KEY `cardnumber` (`cardnumber`),
2434
  KEY `sms_provider_id` (`sms_provider_id`)
2338
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2435
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2436
/*!40101 SET character_set_client = @saved_cs_client */;
2339
2437
2340
--
2438
--
2341
-- Table structure for table `language_subtag_registry`
2439
-- Table structure for table `deleteditems`
2342
-- http://www.w3.org/International/articles/language-tags/
2343
-- RFC4646
2344
--
2440
--
2345
2441
2346
DROP TABLE IF EXISTS language_subtag_registry;
2442
DROP TABLE IF EXISTS `deleteditems`;
2347
CREATE TABLE language_subtag_registry (
2443
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2348
        subtag varchar(25),
2444
/*!40101 SET character_set_client = utf8 */;
2349
        type varchar(25) COMMENT "language-script-region-variant-extension-privateuse",
2445
CREATE TABLE `deleteditems` (
2350
        description varchar(25) COMMENT "only one of the possible descriptions for ease of reference, see language_descriptions for the complete list",
2446
  `itemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'primary key and unique identifier added by Koha',
2351
        added date,
2447
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from biblio table used to link this item to the right bib record',
2352
        id int(11) NOT NULL auto_increment,
2448
  `biblioitemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the biblioitems table to link to item to additional information',
2353
        PRIMARY KEY  (`id`),
2449
  `barcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'item barcode (MARC21 952$p)',
2354
        KEY `subtag` (`subtag`)
2450
  `dateaccessioned` date DEFAULT NULL COMMENT 'date the item was acquired or added to Koha (MARC21 952$d)',
2451
  `booksellerid` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'where the item was purchased (MARC21 952$e)',
2452
  `homebranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table for the library that owns this item (MARC21 952$a)',
2453
  `price` decimal(8,2) DEFAULT NULL COMMENT 'purchase price (MARC21 952$g)',
2454
  `replacementprice` decimal(8,2) DEFAULT NULL COMMENT 'cost the library charges to replace the item if it has been marked lost (MARC21 952$v)',
2455
  `replacementpricedate` date DEFAULT NULL COMMENT 'the date the price is effective from (MARC21 952$w)',
2456
  `datelastborrowed` date DEFAULT NULL COMMENT 'the date the item was last checked out',
2457
  `datelastseen` date DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)',
2458
  `stack` tinyint(1) DEFAULT NULL,
2459
  `notforloan` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining why this item is not for loan (MARC21 952$7)',
2460
  `damaged` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as damaged (MARC21 952$4)',
2461
  `damaged_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as damaged, NULL if not damaged',
2462
  `itemlost` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as lost (MARC21 952$1)',
2463
  `itemlost_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as lost, NULL if not lost',
2464
  `withdrawn` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as withdrawn (MARC21 952$0)',
2465
  `withdrawn_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as withdrawn, NULL if not withdrawn',
2466
  `itemcallnumber` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'call number for this item (MARC21 952$o)',
2467
  `coded_location_qualifier` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'coded location qualifier(MARC21 952$f)',
2468
  `issues` smallint(6) DEFAULT 0 COMMENT 'number of times this item has been checked out',
2469
  `renewals` smallint(6) DEFAULT NULL COMMENT 'number of times this item has been renewed',
2470
  `reserves` smallint(6) DEFAULT NULL COMMENT 'number of times this item has been placed on hold/reserved',
2471
  `restricted` tinyint(1) DEFAULT NULL COMMENT 'authorized value defining use restrictions for this item (MARC21 952$5)',
2472
  `itemnotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'public notes on this item (MARC21 952$z)',
2473
  `itemnotes_nonpublic` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'non-public notes on this item (MARC21 952$x)',
2474
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)',
2475
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this item was last altered',
2476
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the shelving location for this item (MARC21 952$c)',
2477
  `permanent_location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'linked to the CART and PROC temporary locations feature, stores the permanent shelving location',
2478
  `onloan` date DEFAULT NULL COMMENT 'defines if item is checked out (NULL for not checked out, and due date for checked out)',
2479
  `cn_source` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'classification source used on this item (MARC21 952$2)',
2480
  `cn_sort` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'normalized form of the call number (MARC21 952$o) used for sorting',
2481
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the collection code associated with this item (MARC21 952$8)',
2482
  `materials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'materials specified (MARC21 952$3)',
2483
  `uri` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'URL for the item (MARC21 952$u)',
2484
  `itype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the itemtypes table defining the type for this item (MARC21 952$y)',
2485
  `more_subfields_xml` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'additional 952 subfields in XML format',
2486
  `enumchron` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'serial enumeration/chronology for the item (MARC21 952$h)',
2487
  `copynumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'copy number (MARC21 952$t)',
2488
  `stocknumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
2489
  `new_status` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
2490
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
2491
  PRIMARY KEY (`itemnumber`),
2492
  KEY `delitembarcodeidx` (`barcode`),
2493
  KEY `delitemstocknumberidx` (`stocknumber`),
2494
  KEY `delitembinoidx` (`biblioitemnumber`),
2495
  KEY `delitembibnoidx` (`biblionumber`),
2496
  KEY `delhomebranch` (`homebranch`),
2497
  KEY `delholdingbranch` (`holdingbranch`),
2498
  KEY `itype_idx` (`itype`),
2499
  KEY `timestamp` (`timestamp`)
2355
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2500
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2501
/*!40101 SET character_set_client = @saved_cs_client */;
2356
2502
2357
--
2503
--
2358
-- Table structure for table `language_rfc4646_to_iso639`
2504
-- Table structure for table `desks`
2359
-- TODO: add suppress_scripts
2360
-- this maps three letter codes defined in iso639.2 back to their
2361
-- two letter equivilents in rfc4646 (LOC maintains iso639+)
2362
--
2505
--
2363
2506
2364
DROP TABLE IF EXISTS language_rfc4646_to_iso639;
2507
DROP TABLE IF EXISTS `desks`;
2365
CREATE TABLE language_rfc4646_to_iso639 (
2508
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2366
        rfc4646_subtag varchar(25),
2509
/*!40101 SET character_set_client = utf8 */;
2367
        iso639_2_code varchar(25),
2510
CREATE TABLE `desks` (
2368
        id int(11) NOT NULL auto_increment,
2511
  `desk_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier',
2369
        PRIMARY KEY  (`id`),
2512
  `desk_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'name of the desk',
2370
        KEY `rfc4646_subtag` (`rfc4646_subtag`)
2513
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'library the desk is located at',
2514
  PRIMARY KEY (`desk_id`),
2515
  KEY `fk_desks_branchcode` (`branchcode`),
2516
  CONSTRAINT `fk_desks_branchcode` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
2371
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2517
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2518
/*!40101 SET character_set_client = @saved_cs_client */;
2372
2519
2373
--
2520
--
2374
-- Table structure for table `language_descriptions`
2521
-- Table structure for table `discharges`
2375
--
2522
--
2376
2523
2377
DROP TABLE IF EXISTS language_descriptions;
2524
DROP TABLE IF EXISTS `discharges`;
2378
CREATE TABLE language_descriptions (
2525
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2379
        subtag varchar(25),
2526
/*!40101 SET character_set_client = utf8 */;
2380
        type varchar(25),
2527
CREATE TABLE `discharges` (
2381
        lang varchar(25),
2528
  `discharge_id` int(11) NOT NULL AUTO_INCREMENT,
2382
        description varchar(255),
2529
  `borrower` int(11) DEFAULT NULL,
2383
        id int(11) NOT NULL auto_increment,
2530
  `needed` timestamp NULL DEFAULT NULL,
2384
        PRIMARY KEY  (`id`),
2531
  `validated` timestamp NULL DEFAULT NULL,
2385
        KEY `lang` (`lang`),
2532
  PRIMARY KEY (`discharge_id`),
2386
        KEY `subtag_type_lang` (`subtag`, `type`, `lang`)
2533
  KEY `borrower_discharges_ibfk1` (`borrower`),
2534
  CONSTRAINT `borrower_discharges_ibfk1` FOREIGN KEY (`borrower`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
2387
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2535
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2536
/*!40101 SET character_set_client = @saved_cs_client */;
2388
2537
2389
--
2538
--
2390
-- Table structure for table `language_script_bidi`
2539
-- Table structure for table `edifact_ean`
2391
-- bi-directional support, keyed by script subcode
2392
--
2540
--
2393
2541
2394
DROP TABLE IF EXISTS language_script_bidi;
2542
DROP TABLE IF EXISTS `edifact_ean`;
2395
CREATE TABLE language_script_bidi (
2543
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2396
        rfc4646_subtag varchar(25) COMMENT "script subtag, Arab, Hebr, etc.",
2544
/*!40101 SET character_set_client = utf8 */;
2397
        bidi varchar(3) COMMENT "rtl ltr",
2545
CREATE TABLE `edifact_ean` (
2398
        KEY `rfc4646_subtag` (`rfc4646_subtag`)
2546
  `ee_id` int(11) NOT NULL AUTO_INCREMENT,
2547
  `description` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2548
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2549
  `ean` varchar(15) COLLATE utf8mb4_unicode_ci NOT NULL,
2550
  `id_code_qualifier` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '14',
2551
  PRIMARY KEY (`ee_id`),
2552
  KEY `efk_branchcode` (`branchcode`),
2553
  CONSTRAINT `efk_branchcode` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
2399
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2554
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2555
/*!40101 SET character_set_client = @saved_cs_client */;
2400
2556
2401
--
2557
--
2402
-- Table structure for table `language_script_mapping`
2558
-- Table structure for table `edifact_messages`
2403
-- TODO: need to map language subtags to script subtags for detection
2404
-- of bidi when script is not specified (like ar, he)
2405
--
2559
--
2406
2560
2407
DROP TABLE IF EXISTS language_script_mapping;
2561
DROP TABLE IF EXISTS `edifact_messages`;
2408
CREATE TABLE language_script_mapping (
2562
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2409
        language_subtag varchar(25),
2563
/*!40101 SET character_set_client = utf8 */;
2410
        script_subtag varchar(25),
2564
CREATE TABLE `edifact_messages` (
2411
        KEY `language_subtag` (`language_subtag`)
2565
  `id` int(11) NOT NULL AUTO_INCREMENT,
2566
  `message_type` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
2567
  `transfer_date` date DEFAULT NULL,
2568
  `vendor_id` int(11) DEFAULT NULL,
2569
  `edi_acct` int(11) DEFAULT NULL,
2570
  `status` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2571
  `basketno` int(11) DEFAULT NULL,
2572
  `raw_msg` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2573
  `filename` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2574
  `deleted` tinyint(1) NOT NULL DEFAULT 0,
2575
  PRIMARY KEY (`id`),
2576
  KEY `vendorid` (`vendor_id`),
2577
  KEY `ediacct` (`edi_acct`),
2578
  KEY `basketno` (`basketno`),
2579
  CONSTRAINT `emfk_basketno` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
2580
  CONSTRAINT `emfk_edi_acct` FOREIGN KEY (`edi_acct`) REFERENCES `vendor_edi_accounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
2581
  CONSTRAINT `emfk_vendor` FOREIGN KEY (`vendor_id`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
2412
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2582
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2583
/*!40101 SET character_set_client = @saved_cs_client */;
2413
2584
2414
--
2585
--
2415
-- Table structure for table `permissions`
2586
-- Table structure for table `export_format`
2416
--
2587
--
2417
2588
2418
DROP TABLE IF EXISTS `permissions`;
2589
DROP TABLE IF EXISTS `export_format`;
2419
CREATE TABLE `permissions` (
2590
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2420
  `module_bit` int(11) NOT NULL DEFAULT 0,
2591
/*!40101 SET character_set_client = utf8 */;
2421
  `code` varchar(64) NOT NULL DEFAULT '',
2592
CREATE TABLE `export_format` (
2422
  `description` varchar(255) DEFAULT NULL,
2593
  `export_format_id` int(11) NOT NULL AUTO_INCREMENT,
2423
  PRIMARY KEY  (`module_bit`, `code`),
2594
  `profile` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2424
  CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`)
2595
  `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2425
    ON DELETE CASCADE ON UPDATE CASCADE
2596
  `content` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2597
  `csv_separator` varchar(2) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ',',
2598
  `field_separator` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2599
  `subfield_separator` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2600
  `encoding` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'utf8',
2601
  `type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT 'marc',
2602
  `used_for` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT 'export_records',
2603
  `staff_only` tinyint(1) NOT NULL DEFAULT 0,
2604
  PRIMARY KEY (`export_format_id`),
2605
  KEY `used_for_idx` (`used_for`(191)),
2606
  KEY `staff_only_idx` (`staff_only`)
2607
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Used for CSV export';
2608
/*!40101 SET character_set_client = @saved_cs_client */;
2609
2610
--
2611
-- Table structure for table `hold_fill_targets`
2612
--
2613
2614
DROP TABLE IF EXISTS `hold_fill_targets`;
2615
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2616
/*!40101 SET character_set_client = utf8 */;
2617
CREATE TABLE `hold_fill_targets` (
2618
  `borrowernumber` int(11) NOT NULL,
2619
  `biblionumber` int(11) NOT NULL,
2620
  `itemnumber` int(11) NOT NULL,
2621
  `source_branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2622
  `item_level_request` tinyint(4) NOT NULL DEFAULT 0,
2623
  `reserve_id` int(11) DEFAULT NULL,
2624
  PRIMARY KEY (`itemnumber`),
2625
  KEY `bib_branch` (`biblionumber`,`source_branchcode`),
2626
  KEY `hold_fill_targets_ibfk_1` (`borrowernumber`),
2627
  KEY `hold_fill_targets_ibfk_4` (`source_branchcode`),
2628
  CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2629
  CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2630
  CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2631
  CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
2426
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2632
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2633
/*!40101 SET character_set_client = @saved_cs_client */;
2427
2634
2428
--
2635
--
2429
-- Table structure for table `serialitems`
2636
-- Table structure for table `housebound_profile`
2430
--
2637
--
2431
2638
2432
DROP TABLE IF EXISTS `serialitems`;
2639
DROP TABLE IF EXISTS `housebound_profile`;
2433
CREATE TABLE `serialitems` (
2640
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2434
	`itemnumber` int(11) NOT NULL,
2641
/*!40101 SET character_set_client = utf8 */;
2435
	`serialid` int(11) NOT NULL,
2642
CREATE TABLE `housebound_profile` (
2436
    PRIMARY KEY (`itemnumber`),
2643
  `borrowernumber` int(11) NOT NULL COMMENT 'Number of the borrower associated with this profile.',
2437
	KEY `serialitems_sfk_1` (`serialid`),
2644
  `day` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The preferred day of the week for delivery.',
2438
	CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
2645
  `frequency` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The Authorised_Value definining the pattern for delivery.',
2439
	CONSTRAINT `serialitems_sfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
2646
  `fav_itemtypes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Free text describing preferred itemtypes.',
2647
  `fav_subjects` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Free text describing preferred subjects.',
2648
  `fav_authors` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Free text describing preferred authors.',
2649
  `referral` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Free text indicating how the borrower was added to the service.',
2650
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Free text for additional notes.',
2651
  PRIMARY KEY (`borrowernumber`),
2652
  CONSTRAINT `housebound_profile_bnfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
2440
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2653
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2654
/*!40101 SET character_set_client = @saved_cs_client */;
2441
2655
2442
--
2656
--
2443
-- Table structure for table `user_permissions`
2657
-- Table structure for table `housebound_role`
2444
--
2658
--
2445
2659
2446
DROP TABLE IF EXISTS `user_permissions`;
2660
DROP TABLE IF EXISTS `housebound_role`;
2447
CREATE TABLE `user_permissions` (
2661
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2448
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
2662
/*!40101 SET character_set_client = utf8 */;
2449
  `module_bit` int(11) NOT NULL DEFAULT 0,
2663
CREATE TABLE `housebound_role` (
2450
  `code` varchar(64) DEFAULT NULL,
2664
  `borrowernumber_id` int(11) NOT NULL COMMENT 'borrowernumber link',
2451
  CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
2665
  `housebound_chooser` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'set to 1 to indicate this patron is a housebound chooser volunteer',
2452
    ON DELETE CASCADE ON UPDATE CASCADE,
2666
  `housebound_deliverer` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'set to 1 to indicate this patron is a housebound deliverer volunteer',
2453
  CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`)
2667
  PRIMARY KEY (`borrowernumber_id`),
2454
    ON DELETE CASCADE ON UPDATE CASCADE
2668
  CONSTRAINT `houseboundrole_bnfk` FOREIGN KEY (`borrowernumber_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
2669
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2670
/*!40101 SET character_set_client = @saved_cs_client */;
2671
2672
--
2673
-- Table structure for table `housebound_visit`
2674
--
2675
2676
DROP TABLE IF EXISTS `housebound_visit`;
2677
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2678
/*!40101 SET character_set_client = utf8 */;
2679
CREATE TABLE `housebound_visit` (
2680
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID of the visit.',
2681
  `borrowernumber` int(11) NOT NULL COMMENT 'Number of the borrower, & the profile, linked to this visit.',
2682
  `appointment_date` date DEFAULT NULL COMMENT 'Date of visit.',
2683
  `day_segment` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Rough time frame: ''morning'', ''afternoon'' ''evening''',
2684
  `chooser_brwnumber` int(11) DEFAULT NULL COMMENT 'Number of the borrower to choose items  for delivery.',
2685
  `deliverer_brwnumber` int(11) DEFAULT NULL COMMENT 'Number of the borrower to deliver items.',
2686
  PRIMARY KEY (`id`),
2687
  KEY `houseboundvisit_bnfk` (`borrowernumber`),
2688
  KEY `houseboundvisit_bnfk_1` (`chooser_brwnumber`),
2689
  KEY `houseboundvisit_bnfk_2` (`deliverer_brwnumber`),
2690
  CONSTRAINT `houseboundvisit_bnfk` FOREIGN KEY (`borrowernumber`) REFERENCES `housebound_profile` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2691
  CONSTRAINT `houseboundvisit_bnfk_1` FOREIGN KEY (`chooser_brwnumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2692
  CONSTRAINT `houseboundvisit_bnfk_2` FOREIGN KEY (`deliverer_brwnumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
2455
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2693
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2694
/*!40101 SET character_set_client = @saved_cs_client */;
2456
2695
2457
--
2696
--
2458
-- Table structure for table `tmp_holdsqueue`
2697
-- Table structure for table `illcomments`
2459
--
2698
--
2460
2699
2461
DROP TABLE IF EXISTS `tmp_holdsqueue`;
2700
DROP TABLE IF EXISTS `illcomments`;
2462
CREATE TABLE `tmp_holdsqueue` (
2701
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2463
  `biblionumber` int(11) default NULL,
2702
/*!40101 SET character_set_client = utf8 */;
2464
  `itemnumber` int(11) default NULL,
2703
CREATE TABLE `illcomments` (
2465
  `barcode` varchar(20) default NULL,
2704
  `illcomment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique ID of the comment',
2466
  `surname` LONGTEXT NOT NULL,
2705
  `illrequest_id` bigint(20) unsigned NOT NULL COMMENT 'ILL request number',
2467
  `firstname` MEDIUMTEXT,
2706
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'Link to the user who made the comment (could be librarian, patron or ILL partner library)',
2468
  `phone` MEDIUMTEXT,
2707
  `comment` text COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'The text of the comment',
2469
  `borrowernumber` int(11) NOT NULL,
2708
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'Date and time when the comment was made',
2470
  `cardnumber` varchar(32) default NULL,
2709
  PRIMARY KEY (`illcomment_id`),
2471
  `reservedate` date default NULL,
2710
  KEY `illcomments_bnfk` (`borrowernumber`),
2472
  `title` LONGTEXT,
2711
  KEY `illcomments_ifk` (`illrequest_id`),
2473
  `itemcallnumber` varchar(255) default NULL,
2712
  CONSTRAINT `illcomments_bnfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2474
  `holdingbranch` varchar(10) default NULL,
2713
  CONSTRAINT `illcomments_ifk` FOREIGN KEY (`illrequest_id`) REFERENCES `illrequests` (`illrequest_id`) ON DELETE CASCADE ON UPDATE CASCADE
2475
  `pickbranch` varchar(10) default NULL,
2714
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2476
  `notes` MEDIUMTEXT,
2715
/*!40101 SET character_set_client = @saved_cs_client */;
2477
  `item_level_request` tinyint(4) NOT NULL default 0,
2478
  CONSTRAINT `tmp_holdsqueue_ibfk_1` FOREIGN KEY (`itemnumber`)
2479
    REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
2480
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2481
2716
2482
--
2717
--
2483
-- Table structure for table `message_transport_types`
2718
-- Table structure for table `illrequestattributes`
2484
--
2719
--
2485
2720
2486
DROP TABLE IF EXISTS `message_transport_types`;
2721
DROP TABLE IF EXISTS `illrequestattributes`;
2487
CREATE TABLE `message_transport_types` (
2722
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2488
  `message_transport_type` varchar(20) NOT NULL,
2723
/*!40101 SET character_set_client = utf8 */;
2489
  PRIMARY KEY  (`message_transport_type`)
2724
CREATE TABLE `illrequestattributes` (
2725
  `illrequest_id` bigint(20) unsigned NOT NULL COMMENT 'ILL request number',
2726
  `type` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API ILL property name',
2727
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API ILL property value',
2728
  `readonly` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Is this attribute read only',
2729
  PRIMARY KEY (`illrequest_id`,`type`(191)),
2730
  CONSTRAINT `illrequestattributes_ifk` FOREIGN KEY (`illrequest_id`) REFERENCES `illrequests` (`illrequest_id`) ON DELETE CASCADE ON UPDATE CASCADE
2490
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2731
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2732
/*!40101 SET character_set_client = @saved_cs_client */;
2491
2733
2492
--
2734
--
2493
-- Table structure for table `message_queue`
2735
-- Table structure for table `illrequests`
2494
--
2736
--
2495
2737
2496
DROP TABLE IF EXISTS `message_queue`;
2738
DROP TABLE IF EXISTS `illrequests`;
2497
CREATE TABLE `message_queue` (
2739
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2498
  `message_id` int(11) NOT NULL auto_increment,
2740
/*!40101 SET character_set_client = utf8 */;
2499
  `borrowernumber` int(11) default NULL,
2741
CREATE TABLE `illrequests` (
2500
  `subject` MEDIUMTEXT,
2742
  `illrequest_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ILL request number',
2501
  `content` MEDIUMTEXT,
2743
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'Patron associated with request',
2502
  `metadata` MEDIUMTEXT DEFAULT NULL,
2744
  `biblio_id` int(11) DEFAULT NULL COMMENT 'Potential bib linked to request',
2503
  `letter_code` varchar(64) DEFAULT NULL,
2745
  `branchcode` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The branch associated with the request',
2504
  `message_transport_type` varchar(20) NOT NULL,
2746
  `status` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Current Koha status of request',
2505
  `status` enum('sent','pending','failed','deleted') NOT NULL default 'pending',
2747
  `status_alias` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Foreign key to relevant authorised_values.authorised_value',
2506
  `time_queued` timestamp NULL,
2748
  `placed` date DEFAULT NULL COMMENT 'Date the request was placed',
2507
  `updated_on` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2749
  `replied` date DEFAULT NULL COMMENT 'Last API response',
2508
  `to_address` LONGTEXT,
2750
  `updated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2509
  `from_address` LONGTEXT,
2751
  `completed` date DEFAULT NULL COMMENT 'Date the request was completed',
2510
  `reply_address` LONGTEXT,
2752
  `medium` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'The Koha request type',
2511
  `content_type` MEDIUMTEXT,
2753
  `accessurl` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Potential URL for accessing item',
2512
  PRIMARY KEY `message_id` (`message_id`),
2754
  `cost` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Quotes cost of request',
2513
  KEY `borrowernumber` (`borrowernumber`),
2755
  `price_paid` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Final cost of request',
2514
  KEY `message_transport_type` (`message_transport_type`),
2756
  `notesopac` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Patron notes attached to request',
2515
  CONSTRAINT `messageq_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2757
  `notesstaff` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Staff notes attached to request',
2516
  CONSTRAINT `messageq_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE RESTRICT ON UPDATE CASCADE
2758
  `orderid` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Backend id attached to request',
2517
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2759
  `backend` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'The backend used to create request',
2760
  PRIMARY KEY (`illrequest_id`),
2761
  KEY `illrequests_bnfk` (`borrowernumber`),
2762
  KEY `illrequests_bcfk_2` (`branchcode`),
2763
  KEY `illrequests_safk` (`status_alias`),
2764
  CONSTRAINT `illrequests_bcfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
2765
  CONSTRAINT `illrequests_bnfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2766
  CONSTRAINT `illrequests_safk` FOREIGN KEY (`status_alias`) REFERENCES `authorised_values` (`authorised_value`) ON DELETE SET NULL ON UPDATE CASCADE
2767
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2768
/*!40101 SET character_set_client = @saved_cs_client */;
2518
2769
2519
--
2770
--
2520
-- Table structure for table `letter`
2771
-- Table structure for table `import_auths`
2521
--
2772
--
2522
2773
2523
DROP TABLE IF EXISTS `letter`;
2774
DROP TABLE IF EXISTS `import_auths`;
2524
CREATE TABLE `letter` ( -- table for all notice templates in Koha
2775
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2525
  `module` varchar(20) NOT NULL default '' COMMENT "Koha module that triggers this notice or slip",
2776
/*!40101 SET character_set_client = utf8 */;
2526
  `code` varchar(20) NOT NULL default '' COMMENT "unique identifier for this notice or slip",
2777
CREATE TABLE `import_auths` (
2527
  `branchcode` varchar(10) NOT NULL default '' COMMENT "the branch this notice or slip is used at (branches.branchcode)",
2778
  `import_record_id` int(11) NOT NULL,
2528
  `name` varchar(100) NOT NULL default '' COMMENT "plain text name for this notice or slip",
2779
  `matched_authid` int(11) DEFAULT NULL,
2529
  `is_html` tinyint(1) default 0 COMMENT "does this notice or slip use HTML (1 for yes, 0 for no)",
2780
  `control_number` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2530
  `title` varchar(200) NOT NULL default '' COMMENT "subject line of the notice",
2781
  `authorized_heading` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2531
  `content` MEDIUMTEXT COMMENT "body text for the notice or slip",
2782
  `original_source` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2532
  `message_transport_type` varchar(20) NOT NULL DEFAULT 'email' COMMENT "transport type for this notice",
2783
  KEY `import_auths_ibfk_1` (`import_record_id`),
2533
  `lang` varchar(25) NOT NULL DEFAULT 'default' COMMENT "lang of the notice",
2784
  KEY `matched_authid` (`matched_authid`),
2534
  `updated_on` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "last modification",
2785
  CONSTRAINT `import_auths_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE
2535
  PRIMARY KEY  (`module`,`code`, `branchcode`, `message_transport_type`, `lang`),
2536
  CONSTRAINT `message_transport_type_fk` FOREIGN KEY (`message_transport_type`)
2537
  REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
2538
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2786
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2787
/*!40101 SET character_set_client = @saved_cs_client */;
2539
2788
2540
--
2789
--
2541
-- Table structure for table `overduerules_transport_types`
2790
-- Table structure for table `import_batch_profiles`
2542
--
2791
--
2543
2792
2544
DROP TABLE IF EXISTS `overduerules_transport_types`;
2793
DROP TABLE IF EXISTS `import_batch_profiles`;
2545
CREATE TABLE overduerules_transport_types(
2794
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2546
    `id` INT(11) NOT NULL AUTO_INCREMENT,
2795
/*!40101 SET character_set_client = utf8 */;
2547
    `letternumber` INT(1) NOT NULL DEFAULT 1,
2796
CREATE TABLE `import_batch_profiles` (
2548
    `message_transport_type` VARCHAR(20) NOT NULL DEFAULT 'email',
2797
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier and primary key',
2549
    `overduerules_id` INT(11) NOT NULL,
2798
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'name of this profile',
2550
    PRIMARY KEY (id),
2799
  `matcher_id` int(11) DEFAULT NULL COMMENT 'the id of the match rule used (matchpoints.matcher_id)',
2551
    CONSTRAINT overduerules_fk FOREIGN KEY (overduerules_id) REFERENCES overduerules (overduerules_id) ON DELETE CASCADE ON UPDATE CASCADE,
2800
  `template_id` int(11) DEFAULT NULL COMMENT 'the id of the marc modification template',
2552
    CONSTRAINT mtt_fk FOREIGN KEY (message_transport_type) REFERENCES message_transport_types (message_transport_type) ON DELETE CASCADE ON UPDATE CASCADE
2801
  `overlay_action` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'how to handle duplicate records',
2802
  `nomatch_action` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'how to handle records where no match is found',
2803
  `item_action` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what to do with item records',
2804
  `parse_items` tinyint(1) DEFAULT NULL COMMENT 'should items be parsed',
2805
  `record_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'type of record in the batch',
2806
  `encoding` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'file encoding',
2807
  `format` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'marc format',
2808
  `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments added when the file was uploaded',
2809
  PRIMARY KEY (`id`),
2810
  UNIQUE KEY `u_import_batch_profiles__name` (`name`)
2553
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2811
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2812
/*!40101 SET character_set_client = @saved_cs_client */;
2554
2813
2555
--
2814
--
2556
-- Table structure for table `message_attributes`
2815
-- Table structure for table `import_batches`
2557
--
2816
--
2558
2817
2559
DROP TABLE IF EXISTS `message_attributes`;
2818
DROP TABLE IF EXISTS `import_batches`;
2560
CREATE TABLE `message_attributes` (
2819
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2561
  `message_attribute_id` int(11) NOT NULL auto_increment,
2820
/*!40101 SET character_set_client = utf8 */;
2562
  `message_name` varchar(40) NOT NULL default '',
2821
CREATE TABLE `import_batches` (
2563
  `takes_days` tinyint(1) NOT NULL default '0',
2822
  `import_batch_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier and primary key',
2564
  PRIMARY KEY  (`message_attribute_id`),
2823
  `matcher_id` int(11) DEFAULT NULL COMMENT 'the id of the match rule used (matchpoints.matcher_id)',
2565
  UNIQUE KEY `message_name` (`message_name`)
2824
  `template_id` int(11) DEFAULT NULL,
2825
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2826
  `num_records` int(11) NOT NULL DEFAULT 0 COMMENT 'number of records in the file',
2827
  `num_items` int(11) NOT NULL DEFAULT 0 COMMENT 'number of items in the file',
2828
  `upload_timestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'date and time the file was uploaded',
2829
  `overlay_action` enum('replace','create_new','use_template','ignore') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'create_new' COMMENT 'how to handle duplicate records',
2830
  `nomatch_action` enum('create_new','ignore') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'create_new' COMMENT 'how to handle records where no match is found',
2831
  `item_action` enum('always_add','add_only_for_matches','add_only_for_new','ignore','replace') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'always_add' COMMENT 'what to do with item records',
2832
  `import_status` enum('staging','staged','importing','imported','reverting','reverted','cleaned') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'staging' COMMENT 'the status of the imported file',
2833
  `batch_type` enum('batch','z3950','webservice') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'batch' COMMENT 'where this batch has come from',
2834
  `record_type` enum('biblio','auth','holdings') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'biblio' COMMENT 'type of record in the batch',
2835
  `file_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the name of the file uploaded',
2836
  `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments added when the file was uploaded',
2837
  `profile_id` int(11) DEFAULT NULL,
2838
  PRIMARY KEY (`import_batch_id`),
2839
  KEY `branchcode` (`branchcode`),
2840
  KEY `import_batches_ibfk_1` (`profile_id`),
2841
  CONSTRAINT `import_batches_ibfk_1` FOREIGN KEY (`profile_id`) REFERENCES `import_batch_profiles` (`id`) ON DELETE SET NULL ON UPDATE SET NULL
2566
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2842
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2843
/*!40101 SET character_set_client = @saved_cs_client */;
2567
2844
2568
--
2845
--
2569
-- Table structure for table `message_transports`
2846
-- Table structure for table `import_biblios`
2570
--
2847
--
2571
2848
2572
DROP TABLE IF EXISTS `message_transports`;
2849
DROP TABLE IF EXISTS `import_biblios`;
2573
CREATE TABLE `message_transports` (
2850
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2574
  `message_attribute_id` int(11) NOT NULL,
2851
/*!40101 SET character_set_client = utf8 */;
2575
  `message_transport_type` varchar(20) NOT NULL,
2852
CREATE TABLE `import_biblios` (
2576
  `is_digest` tinyint(1) NOT NULL default '0',
2853
  `import_record_id` int(11) NOT NULL,
2577
  `letter_module` varchar(20) NOT NULL default '',
2854
  `matched_biblionumber` int(11) DEFAULT NULL,
2578
  `letter_code` varchar(20) NOT NULL default '',
2855
  `control_number` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2579
  `branchcode` varchar(10) NOT NULL default '',
2856
  `original_source` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2580
  PRIMARY KEY  (`message_attribute_id`,`message_transport_type`,`is_digest`),
2857
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2581
  KEY `message_transport_type` (`message_transport_type`),
2858
  `author` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2582
  KEY `letter_module` (`letter_module`,`letter_code`),
2859
  `isbn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2583
  CONSTRAINT `message_transports_ibfk_1` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2860
  `issn` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2584
  CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
2861
  `has_items` tinyint(1) NOT NULL DEFAULT 0,
2862
  KEY `import_biblios_ibfk_1` (`import_record_id`),
2863
  KEY `matched_biblionumber` (`matched_biblionumber`),
2864
  KEY `title` (`title`(191)),
2865
  KEY `isbn` (`isbn`(191)),
2866
  CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE
2585
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2867
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2868
/*!40101 SET character_set_client = @saved_cs_client */;
2586
2869
2587
--
2870
--
2588
-- Table structure for table `borrower_files`
2871
-- Table structure for table `import_items`
2589
--
2872
--
2590
2873
2591
DROP TABLE IF EXISTS `borrower_files`;
2874
DROP TABLE IF EXISTS `import_items`;
2592
CREATE TABLE IF NOT EXISTS `borrower_files` ( -- files attached to the patron/borrower record
2875
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2593
  `file_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique key",
2876
/*!40101 SET character_set_client = utf8 */;
2594
  `borrowernumber` int(11) NOT NULL COMMENT "foreign key linking to the patron via the borrowernumber",
2877
CREATE TABLE `import_items` (
2595
  `file_name` varchar(255) NOT NULL COMMENT "file name",
2878
  `import_items_id` int(11) NOT NULL AUTO_INCREMENT,
2596
  `file_type` varchar(255) NOT NULL COMMENT "type of file",
2879
  `import_record_id` int(11) NOT NULL,
2597
  `file_description` varchar(255) DEFAULT NULL COMMENT "description given to the file",
2880
  `itemnumber` int(11) DEFAULT NULL,
2598
  `file_content` longblob NOT NULL COMMENT "the file",
2881
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2599
  `date_uploaded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "date and time the file was added",
2882
  `status` enum('error','staged','imported','reverted','ignored') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'staged',
2600
  PRIMARY KEY (`file_id`),
2883
  `marcxml` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2601
  KEY `borrowernumber` (`borrowernumber`),
2884
  `import_error` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2602
  CONSTRAINT borrower_files_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE
2885
  PRIMARY KEY (`import_items_id`),
2886
  KEY `import_items_ibfk_1` (`import_record_id`),
2887
  KEY `itemnumber` (`itemnumber`),
2888
  KEY `branchcode` (`branchcode`),
2889
  CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE
2603
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2890
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2891
/*!40101 SET character_set_client = @saved_cs_client */;
2604
2892
2605
--
2893
--
2606
-- Table structure for table `borrower_message_preferences`
2894
-- Table structure for table `import_record_matches`
2607
--
2895
--
2608
2896
2609
DROP TABLE IF EXISTS `borrower_message_preferences`;
2897
DROP TABLE IF EXISTS `import_record_matches`;
2610
CREATE TABLE `borrower_message_preferences` (
2898
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2611
  `borrower_message_preference_id` int(11) NOT NULL auto_increment,
2899
/*!40101 SET character_set_client = utf8 */;
2612
  `borrowernumber` int(11) default NULL,
2900
CREATE TABLE `import_record_matches` (
2613
  `categorycode` varchar(10) default NULL,
2901
  `import_record_id` int(11) NOT NULL COMMENT 'the id given to the imported bib record (import_records.import_record_id)',
2614
  `message_attribute_id` int(11) default '0',
2902
  `candidate_match_id` int(11) NOT NULL COMMENT 'the biblio the imported record matches (biblio.biblionumber)',
2615
  `days_in_advance` int(11) default '0',
2903
  `score` int(11) NOT NULL DEFAULT 0 COMMENT 'the match score',
2616
  `wants_digest` tinyint(1) NOT NULL default '0',
2904
  KEY `record_score` (`import_record_id`,`score`),
2617
  PRIMARY KEY  (`borrower_message_preference_id`),
2905
  CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`) REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE
2618
  KEY `borrowernumber` (`borrowernumber`),
2619
  KEY `categorycode` (`categorycode`),
2620
  KEY `message_attribute_id` (`message_attribute_id`),
2621
  CONSTRAINT `borrower_message_preferences_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2622
  CONSTRAINT `borrower_message_preferences_ibfk_2` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2623
  CONSTRAINT `borrower_message_preferences_ibfk_3` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE
2624
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2906
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2907
/*!40101 SET character_set_client = @saved_cs_client */;
2625
2908
2626
--
2909
--
2627
-- Table structure for table `borrower_message_transport_preferences`
2910
-- Table structure for table `import_records`
2628
--
2911
--
2629
2912
2630
DROP TABLE IF EXISTS `borrower_message_transport_preferences`;
2913
DROP TABLE IF EXISTS `import_records`;
2631
CREATE TABLE `borrower_message_transport_preferences` (
2914
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2632
  `borrower_message_preference_id` int(11) NOT NULL default '0',
2915
/*!40101 SET character_set_client = utf8 */;
2633
  `message_transport_type` varchar(20) NOT NULL default '0',
2916
CREATE TABLE `import_records` (
2634
  PRIMARY KEY  (`borrower_message_preference_id`,`message_transport_type`),
2917
  `import_record_id` int(11) NOT NULL AUTO_INCREMENT,
2635
  KEY `message_transport_type` (`message_transport_type`),
2918
  `import_batch_id` int(11) NOT NULL,
2636
  CONSTRAINT `borrower_message_transport_preferences_ibfk_1` FOREIGN KEY (`borrower_message_preference_id`) REFERENCES `borrower_message_preferences` (`borrower_message_preference_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2919
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2637
  CONSTRAINT `borrower_message_transport_preferences_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
2920
  `record_sequence` int(11) NOT NULL DEFAULT 0,
2921
  `upload_timestamp` timestamp NOT NULL DEFAULT current_timestamp(),
2922
  `import_date` date DEFAULT NULL,
2923
  `marc` longblob NOT NULL,
2924
  `marcxml` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2925
  `marcxml_old` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
2926
  `record_type` enum('biblio','auth','holdings') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'biblio',
2927
  `overlay_status` enum('no_match','auto_match','manual_match','match_applied') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'no_match',
2928
  `status` enum('error','staged','imported','reverted','items_reverted','ignored') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'staged',
2929
  `import_error` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2930
  `encoding` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
2931
  PRIMARY KEY (`import_record_id`),
2932
  KEY `branchcode` (`branchcode`),
2933
  KEY `batch_sequence` (`import_batch_id`,`record_sequence`),
2934
  KEY `batch_id_record_type` (`import_batch_id`,`record_type`),
2935
  CONSTRAINT `import_records_ifbk_1` FOREIGN KEY (`import_batch_id`) REFERENCES `import_batches` (`import_batch_id`) ON DELETE CASCADE ON UPDATE CASCADE
2638
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2936
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2937
/*!40101 SET character_set_client = @saved_cs_client */;
2639
2938
2640
--
2939
--
2641
-- Table structure for the table branch_transfer_limits
2940
-- Table structure for table `issues`
2642
--
2941
--
2643
2942
2644
DROP TABLE IF EXISTS `branch_transfer_limits`;
2943
DROP TABLE IF EXISTS `issues`;
2645
CREATE TABLE branch_transfer_limits (
2944
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2646
    limitId int(8) NOT NULL auto_increment,
2945
/*!40101 SET character_set_client = utf8 */;
2647
    toBranch varchar(10) NOT NULL,
2946
CREATE TABLE `issues` (
2648
    fromBranch varchar(10) NOT NULL,
2947
  `issue_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key for issues table',
2649
    itemtype varchar(10) NULL,
2948
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the patron this item was checked out to',
2650
    ccode varchar(80) NULL,
2949
  `issuer_id` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the user who checked out this item',
2651
    PRIMARY KEY  (limitId)
2950
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the items table for the item that was checked out',
2951
  `date_due` datetime DEFAULT NULL COMMENT 'datetime the item is due (yyyy-mm-dd hh:mm::ss)',
2952
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key, linking to the branches table for the location the item was checked out',
2953
  `returndate` datetime DEFAULT NULL COMMENT 'date the item was returned, will be NULL until moved to old_issues',
2954
  `lastreneweddate` datetime DEFAULT NULL COMMENT 'date the item was last renewed',
2955
  `renewals` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'lists the number of times the item was renewed',
2956
  `unseen_renewals` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'lists the number of consecutive times the item was renewed without being seen',
2957
  `auto_renew` tinyint(1) DEFAULT 0 COMMENT 'automatic renewal',
2958
  `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'automatic renewal error',
2959
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this record was last touched',
2960
  `issuedate` datetime DEFAULT NULL COMMENT 'date the item was checked out or issued',
2961
  `onsite_checkout` int(1) NOT NULL DEFAULT 0 COMMENT 'in house use flag',
2962
  `note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'issue note text',
2963
  `notedate` datetime DEFAULT NULL COMMENT 'datetime of issue note (yyyy-mm-dd hh:mm::ss)',
2964
  `noteseen` int(1) DEFAULT NULL COMMENT 'describes whether checkout note has been seen 1, not been seen 0 or doesn''t exist null',
2965
  PRIMARY KEY (`issue_id`),
2966
  UNIQUE KEY `itemnumber` (`itemnumber`),
2967
  KEY `issuesborridx` (`borrowernumber`),
2968
  KEY `itemnumber_idx` (`itemnumber`),
2969
  KEY `branchcode_idx` (`branchcode`),
2970
  KEY `bordate` (`borrowernumber`,`timestamp`),
2971
  KEY `issues_ibfk_borrowers_borrowernumber` (`issuer_id`),
2972
  CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON UPDATE CASCADE,
2973
  CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON UPDATE CASCADE,
2974
  CONSTRAINT `issues_ibfk_borrowers_borrowernumber` FOREIGN KEY (`issuer_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
2652
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2975
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2976
/*!40101 SET character_set_client = @saved_cs_client */;
2653
2977
2654
--
2978
--
2655
-- Table structure for table `item_circulation_alert_preferences`
2979
-- Table structure for table `item_circulation_alert_preferences`
2656
--
2980
--
2657
2981
2658
DROP TABLE IF EXISTS `item_circulation_alert_preferences`;
2982
DROP TABLE IF EXISTS `item_circulation_alert_preferences`;
2983
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2984
/*!40101 SET character_set_client = utf8 */;
2659
CREATE TABLE `item_circulation_alert_preferences` (
2985
CREATE TABLE `item_circulation_alert_preferences` (
2660
  `id` int(11) NOT NULL auto_increment,
2986
  `id` int(11) NOT NULL AUTO_INCREMENT,
2661
  `branchcode` varchar(10) NOT NULL,
2987
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
2662
  `categorycode` varchar(10) NOT NULL,
2988
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
2663
  `item_type` varchar(10) NOT NULL,
2989
  `item_type` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
2664
  `notification` varchar(16) NOT NULL,
2990
  `notification` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
2665
  PRIMARY KEY  (`id`),
2991
  PRIMARY KEY (`id`),
2666
  KEY `branchcode` (`branchcode`,`categorycode`,`item_type`, `notification`)
2992
  KEY `branchcode` (`branchcode`,`categorycode`,`item_type`,`notification`)
2667
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2993
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2994
/*!40101 SET character_set_client = @saved_cs_client */;
2668
2995
2669
--
2996
--
2670
-- Table structure for table `messages`
2997
-- Table structure for table `items`
2671
--
2998
--
2672
DROP TABLE IF EXISTS `messages`;
2999
2673
CREATE TABLE `messages` ( -- circulation messages left via the patron's check out screen
3000
DROP TABLE IF EXISTS `items`;
2674
  `message_id` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
3001
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2675
  `borrowernumber` int(11) NOT NULL COMMENT "foreign key linking this message to the borrowers table",
3002
/*!40101 SET character_set_client = utf8 */;
2676
  `branchcode` varchar(10) default NULL COMMENT "foreign key linking the message to the branches table",
3003
CREATE TABLE `items` (
2677
  `message_type` varchar(1) NOT NULL COMMENT "whether the message is for the librarians (L) or the patron (B)",
3004
  `itemnumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key and unique identifier added by Koha',
2678
  `message` MEDIUMTEXT NOT NULL COMMENT "the text of the message",
3005
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from biblio table used to link this item to the right bib record',
2679
  `message_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "the date and time the message was written",
3006
  `biblioitemnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the biblioitems table to link to item to additional information',
2680
  `manager_id` int(11) default NULL COMMENT "creator of message",
3007
  `barcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'item barcode (MARC21 952$p)',
2681
  PRIMARY KEY (`message_id`),
3008
  `dateaccessioned` date DEFAULT NULL COMMENT 'date the item was acquired or added to Koha (MARC21 952$d)',
2682
  CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL,
3009
  `booksellerid` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'where the item was purchased (MARC21 952$e)',
2683
  CONSTRAINT `messages_borrowernumber` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
3010
  `homebranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table for the library that owns this item (MARC21 952$a)',
2684
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3011
  `price` decimal(8,2) DEFAULT NULL COMMENT 'purchase price (MARC21 952$g)',
3012
  `replacementprice` decimal(8,2) DEFAULT NULL COMMENT 'cost the library charges to replace the item if it has been marked lost (MARC21 952$v)',
3013
  `replacementpricedate` date DEFAULT NULL COMMENT 'the date the price is effective from (MARC21 952$w)',
3014
  `datelastborrowed` date DEFAULT NULL COMMENT 'the date the item was last checked out/issued',
3015
  `datelastseen` date DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)',
3016
  `stack` tinyint(1) DEFAULT NULL,
3017
  `notforloan` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining why this item is not for loan (MARC21 952$7)',
3018
  `damaged` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as damaged (MARC21 952$4)',
3019
  `damaged_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as damaged, NULL if not damaged',
3020
  `itemlost` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as lost (MARC21 952$1)',
3021
  `itemlost_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as lost, NULL if not lost',
3022
  `withdrawn` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as withdrawn (MARC21 952$0)',
3023
  `withdrawn_on` datetime DEFAULT NULL COMMENT 'the date and time an item was last marked as withdrawn, NULL if not withdrawn',
3024
  `itemcallnumber` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'call number for this item (MARC21 952$o)',
3025
  `coded_location_qualifier` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'coded location qualifier(MARC21 952$f)',
3026
  `issues` smallint(6) DEFAULT 0 COMMENT 'number of times this item has been checked out/issued',
3027
  `renewals` smallint(6) DEFAULT NULL COMMENT 'number of times this item has been renewed',
3028
  `reserves` smallint(6) DEFAULT NULL COMMENT 'number of times this item has been placed on hold/reserved',
3029
  `restricted` tinyint(1) DEFAULT NULL COMMENT 'authorized value defining use restrictions for this item (MARC21 952$5)',
3030
  `itemnotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'public notes on this item (MARC21 952$z)',
3031
  `itemnotes_nonpublic` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'non-public notes on this item (MARC21 952$x)',
3032
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)',
3033
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this item was last altered',
3034
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the shelving location for this item (MARC21 952$c)',
3035
  `permanent_location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'linked to the CART and PROC temporary locations feature, stores the permanent shelving location',
3036
  `onloan` date DEFAULT NULL COMMENT 'defines if item is checked out (NULL for not checked out, and due date for checked out)',
3037
  `cn_source` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'classification source used on this item (MARC21 952$2)',
3038
  `cn_sort` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'normalized form of the call number (MARC21 952$o) used for sorting',
3039
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the collection code associated with this item (MARC21 952$8)',
3040
  `materials` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'materials specified (MARC21 952$3)',
3041
  `uri` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'URL for the item (MARC21 952$u)',
3042
  `itype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the itemtypes table defining the type for this item (MARC21 952$y)',
3043
  `more_subfields_xml` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'additional 952 subfields in XML format',
3044
  `enumchron` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'serial enumeration/chronology for the item (MARC21 952$h)',
3045
  `copynumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'copy number (MARC21 952$t)',
3046
  `stocknumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'inventory number (MARC21 952$i)',
3047
  `new_status` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '''new'' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.',
3048
  `exclude_from_local_holds_priority` tinyint(1) DEFAULT NULL COMMENT 'Exclude this item from local holds priority',
3049
  PRIMARY KEY (`itemnumber`),
3050
  UNIQUE KEY `itembarcodeidx` (`barcode`),
3051
  KEY `itemstocknumberidx` (`stocknumber`),
3052
  KEY `itembinoidx` (`biblioitemnumber`),
3053
  KEY `itembibnoidx` (`biblionumber`),
3054
  KEY `homebranch` (`homebranch`),
3055
  KEY `holdingbranch` (`holdingbranch`),
3056
  KEY `itemcallnumber` (`itemcallnumber`(191)),
3057
  KEY `items_location` (`location`),
3058
  KEY `items_ccode` (`ccode`),
3059
  KEY `itype_idx` (`itype`),
3060
  KEY `timestamp` (`timestamp`),
3061
  CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3062
  CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3063
  CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
3064
  CONSTRAINT `items_ibfk_4` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
3065
) ENGINE=InnoDB AUTO_INCREMENT=973 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3066
/*!40101 SET character_set_client = @saved_cs_client */;
2685
3067
2686
--
3068
--
2687
-- Table structure for table `cash_registers`
3069
-- Table structure for table `items_last_borrower`
2688
--
3070
--
2689
3071
2690
DROP TABLE IF EXISTS `cash_registers`;
3072
DROP TABLE IF EXISTS `items_last_borrower`;
2691
CREATE TABLE `cash_registers` (
3073
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2692
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier for each account register",
3074
/*!40101 SET character_set_client = utf8 */;
2693
  `name` varchar(24) NOT NULL COMMENT "the user friendly identifier for each account register",
3075
CREATE TABLE `items_last_borrower` (
2694
  `description` longtext NOT NULL COMMENT "the user friendly description for each account register",
3076
  `id` int(11) NOT NULL AUTO_INCREMENT,
2695
  `branch` varchar(10) NOT NULL COMMENT "the foreign key the library this account register belongs",
3077
  `itemnumber` int(11) NOT NULL,
2696
  `branch_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT "boolean flag to denote that this till is the branch default",
3078
  `borrowernumber` int(11) NOT NULL,
2697
  `starting_float` decimal(28, 6) COMMENT "the starting float this account register should be assigned",
3079
  `created_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
2698
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT "boolean flag to denote if this till is archived or not",
2699
  PRIMARY KEY (`id`),
3080
  PRIMARY KEY (`id`),
2700
  UNIQUE KEY `name` (`name`,`branch`),
3081
  UNIQUE KEY `itemnumber` (`itemnumber`),
2701
  CONSTRAINT cash_registers_branch FOREIGN KEY (branch) REFERENCES branches (branchcode) ON UPDATE CASCADE ON DELETE CASCADE
3082
  KEY `borrowernumber` (`borrowernumber`),
2702
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
3083
  CONSTRAINT `items_last_borrower_ibfk_1` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3084
  CONSTRAINT `items_last_borrower_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
3085
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3086
/*!40101 SET character_set_client = @saved_cs_client */;
2703
3087
2704
--
3088
--
2705
-- Table structure for table `account_credit_types`
3089
-- Table structure for table `items_search_fields`
2706
--
3090
--
2707
3091
2708
DROP TABLE IF EXISTS `account_credit_types`;
3092
DROP TABLE IF EXISTS `items_search_fields`;
2709
CREATE TABLE `account_credit_types` (
3093
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2710
  `code` varchar(80) NOT NULL,
3094
/*!40101 SET character_set_client = utf8 */;
2711
  `description` varchar(200) DEFAULT NULL,
3095
CREATE TABLE `items_search_fields` (
2712
  `can_be_added_manually` tinyint(4) NOT NULL DEFAULT 1,
3096
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2713
  `credit_number_enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "Is autogeneration of credit number enabled for this credit type",
3097
  `label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
2714
  `is_system` tinyint(1) NOT NULL DEFAULT 0,
3098
  `tagfield` char(3) COLLATE utf8mb4_unicode_ci NOT NULL,
2715
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT "boolean flag to denote if this till is archived or not",
3099
  `tagsubfield` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2716
  PRIMARY KEY (`code`)
3100
  `authorised_values_category` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3101
  PRIMARY KEY (`name`(191)),
3102
  KEY `items_search_fields_authorised_values_category` (`authorised_values_category`),
3103
  CONSTRAINT `items_search_fields_authorised_values_category` FOREIGN KEY (`authorised_values_category`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE SET NULL ON UPDATE CASCADE
2717
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3104
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3105
/*!40101 SET character_set_client = @saved_cs_client */;
2718
3106
2719
--
3107
--
2720
-- Table structure for table `account_credit_types_branches`
3108
-- Table structure for table `itemtypes`
2721
--
3109
--
2722
3110
2723
DROP TABLE IF EXISTS `account_credit_types_branches`;
3111
DROP TABLE IF EXISTS `itemtypes`;
2724
CREATE TABLE `account_credit_types_branches` (
3112
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2725
    `credit_type_code` VARCHAR(80),
3113
/*!40101 SET character_set_client = utf8 */;
2726
    `branchcode` VARCHAR(10),
3114
CREATE TABLE `itemtypes` (
2727
    FOREIGN KEY (`credit_type_code`) REFERENCES `account_credit_types` (`code`) ON DELETE CASCADE,
3115
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'unique key, a code associated with the item type',
2728
    FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
3116
  `parent_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'unique key, a code associated with the item type',
3117
  `description` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a plain text explanation of the item type',
3118
  `rentalcharge` decimal(28,6) DEFAULT NULL COMMENT 'the amount charged when this item is checked out/issued',
3119
  `rentalcharge_daily` decimal(28,6) DEFAULT NULL COMMENT 'the amount charged for each day between checkout date and due date',
3120
  `rentalcharge_daily_calendar` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'controls if the daily rental fee is calculated directly or using finesCalendar',
3121
  `rentalcharge_hourly` decimal(28,6) DEFAULT NULL COMMENT 'the amount charged for each hour between checkout date and due date',
3122
  `rentalcharge_hourly_calendar` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'controls if the hourly rental fee is calculated directly or using finesCalendar',
3123
  `defaultreplacecost` decimal(28,6) DEFAULT NULL COMMENT 'default replacement cost',
3124
  `processfee` decimal(28,6) DEFAULT NULL COMMENT 'default text be recorded in the column note when the processing fee is applied',
3125
  `notforloan` smallint(6) DEFAULT NULL COMMENT '1 if the item is not for loan, 0 if the item is available for loan',
3126
  `imageurl` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'URL for the item type icon',
3127
  `summary` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'information from the summary field, may include HTML',
3128
  `checkinmsg` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'message that is displayed when an item with the given item type is checked in',
3129
  `checkinmsgtype` char(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'message' COMMENT 'type (CSS class) for the checkinmsg, can be ''alert'' or ''message''',
3130
  `sip_media_type` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SIP2 protocol media type for this itemtype',
3131
  `hideinopac` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Hide the item type from the search options in OPAC',
3132
  `searchcategory` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Group this item type with others with the same value on OPAC search options',
3133
  PRIMARY KEY (`itemtype`),
3134
  UNIQUE KEY `itemtype` (`itemtype`),
3135
  KEY `itemtypes_ibfk_1` (`parent_type`),
3136
  CONSTRAINT `itemtypes_ibfk_1` FOREIGN KEY (`parent_type`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE
3137
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3138
/*!40101 SET character_set_client = @saved_cs_client */;
3139
3140
--
3141
-- Table structure for table `itemtypes_branches`
3142
--
3143
3144
DROP TABLE IF EXISTS `itemtypes_branches`;
3145
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3146
/*!40101 SET character_set_client = utf8 */;
3147
CREATE TABLE `itemtypes_branches` (
3148
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
3149
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
3150
  KEY `itemtype` (`itemtype`),
3151
  KEY `branchcode` (`branchcode`),
3152
  CONSTRAINT `itemtypes_branches_ibfk_1` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE,
3153
  CONSTRAINT `itemtypes_branches_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
2729
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3154
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3155
/*!40101 SET character_set_client = @saved_cs_client */;
2730
3156
2731
--
3157
--
2732
-- Table structure for table `account_debit_types`
3158
-- Table structure for table `keyboard_shortcuts`
2733
--
3159
--
2734
3160
2735
DROP TABLE IF EXISTS `account_debit_types`;
3161
DROP TABLE IF EXISTS `keyboard_shortcuts`;
2736
CREATE TABLE `account_debit_types` (
3162
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2737
  `code` varchar(80) NOT NULL,
3163
/*!40101 SET character_set_client = utf8 */;
2738
  `description` varchar(200) DEFAULT NULL,
3164
CREATE TABLE `keyboard_shortcuts` (
2739
  `can_be_invoiced` tinyint(1) NOT NULL DEFAULT 1 COMMENT "boolean flag to denote if this debit type is available for manual invoicing",
3165
  `shortcut_name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
2740
  `can_be_sold` tinyint(1) NOT NULL DEFAULT 0 COMMENT "boolean flag to denote if this debit type is available at point of sale",
3166
  `shortcut_keys` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
2741
  `default_amount` decimal(28,6) DEFAULT NULL,
3167
  PRIMARY KEY (`shortcut_name`)
2742
  `is_system` tinyint(1) NOT NULL DEFAULT 0,
2743
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT "boolean flag to denote if this till is archived or not",
2744
  PRIMARY KEY (`code`)
2745
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3168
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3169
/*!40101 SET character_set_client = @saved_cs_client */;
2746
3170
2747
--
3171
--
2748
-- Table structure for table `account_debit_types_branches`
3172
-- Table structure for table `language_descriptions`
2749
--
3173
--
2750
3174
2751
DROP TABLE IF EXISTS `account_debit_types_branches`;
3175
DROP TABLE IF EXISTS `language_descriptions`;
2752
CREATE TABLE `account_debit_types_branches` (
3176
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2753
    `debit_type_code` VARCHAR(80),
3177
/*!40101 SET character_set_client = utf8 */;
2754
    `branchcode` VARCHAR(10),
3178
CREATE TABLE `language_descriptions` (
2755
    FOREIGN KEY (`debit_type_code`) REFERENCES `account_debit_types` (`code`) ON DELETE CASCADE,
3179
  `subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2756
    FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
3180
  `type` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2757
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3181
  `lang` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3182
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3183
  `id` int(11) NOT NULL AUTO_INCREMENT,
3184
  PRIMARY KEY (`id`),
3185
  KEY `lang` (`lang`),
3186
  KEY `subtag_type_lang` (`subtag`,`type`,`lang`)
3187
) ENGINE=InnoDB AUTO_INCREMENT=356 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3188
/*!40101 SET character_set_client = @saved_cs_client */;
2758
3189
2759
--
3190
--
2760
-- Table structure for table `accountlines`
3191
-- Table structure for table `language_rfc4646_to_iso639`
2761
--
3192
--
2762
3193
2763
DROP TABLE IF EXISTS `accountlines`;
3194
DROP TABLE IF EXISTS `language_rfc4646_to_iso639`;
2764
CREATE TABLE `accountlines` (
3195
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2765
  `accountlines_id` int(11) NOT NULL AUTO_INCREMENT,
3196
/*!40101 SET character_set_client = utf8 */;
2766
  `issue_id` int(11) NULL DEFAULT NULL,
3197
CREATE TABLE `language_rfc4646_to_iso639` (
2767
  `borrowernumber` int(11) DEFAULT NULL,
3198
  `rfc4646_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2768
  `itemnumber` int(11) default NULL,
3199
  `iso639_2_code` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2769
  `date` timestamp NULL,
3200
  `id` int(11) NOT NULL AUTO_INCREMENT,
2770
  `amount` decimal(28,6) default NULL,
3201
  PRIMARY KEY (`id`),
2771
  `description` LONGTEXT,
3202
  KEY `rfc4646_subtag` (`rfc4646_subtag`)
2772
  `credit_type_code` varchar(80) default NULL,
3203
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2773
  `debit_type_code` varchar(80) default NULL,
3204
/*!40101 SET character_set_client = @saved_cs_client */;
2774
  `credit_number` varchar(20) NULL DEFAULT NULL COMMENT 'autogenerated number for credits',
2775
  `status` varchar(16) default NULL,
2776
  `payment_type` varchar(80) default NULL COMMENT "optional authorised value PAYMENT_TYPE",
2777
  `amountoutstanding` decimal(28,6) default NULL,
2778
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
2779
  `note` MEDIUMTEXT NULL default NULL,
2780
  `manager_id` int(11) NULL DEFAULT NULL,
2781
  `register_id` int(11) NULL DEFAULT NULL,
2782
  `interface` VARCHAR(16) NOT NULL,
2783
  `branchcode` VARCHAR( 10 ) NULL DEFAULT NULL COMMENT "the branchcode of the library where a payment was made, a manual invoice created, etc.",
2784
  PRIMARY KEY (`accountlines_id`),
2785
  KEY `acctsborridx` (`borrowernumber`),
2786
  KEY `timeidx` (`timestamp`),
2787
  KEY `credit_type_code` (`credit_type_code`),
2788
  KEY `debit_type_code` (`debit_type_code`),
2789
  KEY `itemnumber` (`itemnumber`),
2790
  KEY `branchcode` (`branchcode`),
2791
  KEY `manager_id` (`manager_id`),
2792
  CONSTRAINT `accountlines_ibfk_borrowers` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
2793
  CONSTRAINT `accountlines_ibfk_items` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE CASCADE,
2794
  CONSTRAINT `accountlines_ibfk_borrowers_2` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
2795
  CONSTRAINT `accountlines_ibfk_branches` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE,
2796
  CONSTRAINT `accountlines_ibfk_registers` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
2797
  CONSTRAINT `accountlines_ibfk_credit_type` FOREIGN KEY (`credit_type_code`) REFERENCES `account_credit_types` (`code`) ON DELETE RESTRICT ON UPDATE CASCADE,
2798
  CONSTRAINT `accountlines_ibfk_debit_type` FOREIGN KEY (`debit_type_code`) REFERENCES `account_debit_types` (`code`) ON DELETE RESTRICT ON UPDATE CASCADE
2799
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2800
3205
2801
--
3206
--
2802
-- Table structure for table `account_offset_types`
3207
-- Table structure for table `language_script_bidi`
2803
--
3208
--
2804
3209
2805
DROP TABLE IF EXISTS `account_offset_types`;
3210
DROP TABLE IF EXISTS `language_script_bidi`;
2806
CREATE TABLE `account_offset_types` (
3211
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2807
  `type` varchar(16) NOT NULL COMMENT "The type of offset this is",
3212
/*!40101 SET character_set_client = utf8 */;
2808
  PRIMARY KEY (`type`)
3213
CREATE TABLE `language_script_bidi` (
3214
  `rfc4646_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'script subtag, Arab, Hebr, etc.',
3215
  `bidi` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'rtl ltr',
3216
  KEY `rfc4646_subtag` (`rfc4646_subtag`)
2809
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3217
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3218
/*!40101 SET character_set_client = @saved_cs_client */;
2810
3219
2811
--
3220
--
2812
-- Table structure for table `account_offsets`
3221
-- Table structure for table `language_script_mapping`
2813
--
3222
--
2814
3223
2815
DROP TABLE IF EXISTS `account_offsets`;
3224
DROP TABLE IF EXISTS `language_script_mapping`;
2816
CREATE TABLE `account_offsets` (
3225
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2817
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier for each offset",
3226
/*!40101 SET character_set_client = utf8 */;
2818
  `credit_id` int(11) NULL DEFAULT NULL COMMENT "The id of the accountline the increased the patron's balance",
3227
CREATE TABLE `language_script_mapping` (
2819
  `debit_id` int(11) NULL DEFAULT NULL COMMENT "The id of the accountline that decreased the patron's balance",
3228
  `language_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2820
  `type` varchar(16) NOT NULL COMMENT "The type of offset this is",
3229
  `script_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2821
  `amount` decimal(26,6) NOT NULL COMMENT "The amount of the change",
3230
  KEY `language_subtag` (`language_subtag`)
2822
  `created_on` timestamp NOT NULL default CURRENT_TIMESTAMP,
2823
  PRIMARY KEY (`id`),
2824
  CONSTRAINT `account_offsets_ibfk_p` FOREIGN KEY (`credit_id`) REFERENCES `accountlines` (`accountlines_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2825
  CONSTRAINT `account_offsets_ibfk_f` FOREIGN KEY (`debit_id`) REFERENCES `accountlines` (`accountlines_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2826
  CONSTRAINT `account_offsets_ibfk_t` FOREIGN KEY (`type`) REFERENCES `account_offset_types` (`type`) ON DELETE CASCADE ON UPDATE CASCADE
2827
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3231
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3232
/*!40101 SET character_set_client = @saved_cs_client */;
2828
3233
2829
--
3234
--
2830
-- Table structure for table `cash_register_actions`
3235
-- Table structure for table `language_subtag_registry`
2831
--
3236
--
2832
3237
2833
DROP TABLE IF EXISTS `cash_register_actions`;
3238
DROP TABLE IF EXISTS `language_subtag_registry`;
2834
CREATE TABLE `cash_register_actions` (
3239
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2835
  `id` int(11) NOT NULL auto_increment COMMENT "unique identifier for each account register action",
3240
/*!40101 SET character_set_client = utf8 */;
2836
  `code` varchar(24) NOT NULL COMMENT "action code denoting the type of action recorded (enum),",
3241
CREATE TABLE `language_subtag_registry` (
2837
  `register_id` int(11) NOT NULL COMMENT "id of cash_register this action belongs to,",
3242
  `subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2838
  `manager_id` int(11) NOT NULL COMMENT "staff member performing the action",
3243
  `type` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'language-script-region-variant-extension-privateuse',
2839
  `amount` decimal(28,6) DEFAULT NULL COMMENT "amount recorded in action (signed)",
3244
  `description` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'only one of the possible descriptions for ease of reference, see language_descriptions for the complete list',
2840
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
3245
  `added` date DEFAULT NULL,
3246
  `id` int(11) NOT NULL AUTO_INCREMENT,
2841
  PRIMARY KEY (`id`),
3247
  PRIMARY KEY (`id`),
2842
  CONSTRAINT `cash_register_actions_manager` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3248
  KEY `subtag` (`subtag`)
2843
  CONSTRAINT `cash_register_actions_register` FOREIGN KEY (`register_id`) REFERENCES `cash_registers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3249
) ENGINE=InnoDB AUTO_INCREMENT=131 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2844
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
3250
/*!40101 SET character_set_client = @saved_cs_client */;
2845
3251
2846
--
3252
--
2847
-- Table structure for table `action_logs`
3253
-- Table structure for table `letter`
2848
--
3254
--
2849
3255
2850
DROP TABLE IF EXISTS `action_logs`;
3256
DROP TABLE IF EXISTS `letter`;
2851
CREATE TABLE `action_logs` ( -- logs of actions taken in Koha (requires that the logs be turned on)
3257
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2852
  `action_id` int(11) NOT NULL auto_increment COMMENT "unique identifier for each action",
3258
/*!40101 SET character_set_client = utf8 */;
2853
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT "the date and time the action took place",
3259
CREATE TABLE `letter` (
2854
  `user` int(11) NOT NULL default 0 COMMENT "the staff member who performed the action (borrowers.borrowernumber)",
3260
  `module` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'Koha module that triggers this notice or slip',
2855
  `module` MEDIUMTEXT COMMENT "the module this action was taken against",
3261
  `code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'unique identifier for this notice or slip',
2856
  `action` MEDIUMTEXT COMMENT "the action (includes things like DELETED, ADDED, MODIFY, etc)",
3262
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch this notice or slip is used at (branches.branchcode)',
2857
  `object` int(11) default NULL COMMENT "the object that the action was taken against (could be a borrowernumber, itemnumber, etc)",
3263
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'plain text name for this notice or slip',
2858
  `info` MEDIUMTEXT COMMENT "information about the action (usually includes SQL statement)",
3264
  `is_html` tinyint(1) DEFAULT 0 COMMENT 'does this notice or slip use HTML (1 for yes, 0 for no)',
2859
  `interface` VARCHAR(30) DEFAULT NULL COMMENT "the context this action was taken in",
3265
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'subject line of the notice',
2860
  PRIMARY KEY (`action_id`),
3266
  `content` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'body text for the notice or slip',
2861
  KEY `timestamp_idx` (`timestamp`),
3267
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'email' COMMENT 'transport type for this notice',
2862
  KEY `user_idx` (`user`),
3268
  `lang` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'lang of the notice',
2863
  KEY `module_idx` (`module`(255)),
3269
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'last modification',
2864
  KEY `action_idx` (`action`(255)),
3270
  PRIMARY KEY (`module`,`code`,`branchcode`,`message_transport_type`,`lang`),
2865
  KEY `object_idx` (`object`),
3271
  KEY `message_transport_type_fk` (`message_transport_type`),
2866
  KEY `info_idx` (`info`(255)),
3272
  CONSTRAINT `message_transport_type_fk` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
2867
  KEY `interface` (`interface`)
2868
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3273
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3274
/*!40101 SET character_set_client = @saved_cs_client */;
2869
3275
2870
--
3276
--
2871
-- Table structure for table `alert`
3277
-- Table structure for table `library_groups`
2872
--
3278
--
2873
3279
2874
DROP TABLE IF EXISTS `alert`;
3280
DROP TABLE IF EXISTS `library_groups`;
2875
CREATE TABLE `alert` (
3281
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2876
  `alertid` int(11) NOT NULL auto_increment,
3282
/*!40101 SET character_set_client = utf8 */;
2877
  `borrowernumber` int(11) NOT NULL default 0,
3283
CREATE TABLE `library_groups` (
2878
  `type` varchar(10) NOT NULL default '',
3284
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id for each group',
2879
  `externalid` varchar(20) NOT NULL default '',
3285
  `parent_id` int(11) DEFAULT NULL COMMENT 'if this is a child group, the id of the parent group',
2880
  PRIMARY KEY  (`alertid`),
3286
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'The branchcode of a branch belonging to the parent group',
2881
  KEY `borrowernumber` (`borrowernumber`),
3287
  `title` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Short description of the goup',
2882
  KEY `type` (`type`,`externalid`),
3288
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Longer explanation of the group, if necessary',
2883
  CONSTRAINT alert_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON UPDATE CASCADE ON DELETE CASCADE
3289
  `ft_hide_patron_info` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Turn on the feature ''Hide patron''s info'' for this group',
3290
  `ft_search_groups_opac` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group for staff side search groups',
3291
  `ft_search_groups_staff` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group for opac side search groups',
3292
  `ft_local_hold_group` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group to identify libraries as pick up location for holds',
3293
  `created_on` timestamp NULL DEFAULT NULL COMMENT 'Date and time of creation',
3294
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'Date and time of last',
3295
  PRIMARY KEY (`id`),
3296
  UNIQUE KEY `title` (`title`),
3297
  UNIQUE KEY `library_groups_uniq_2` (`parent_id`,`branchcode`),
3298
  KEY `branchcode` (`branchcode`),
3299
  CONSTRAINT `library_groups_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `library_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
3300
  CONSTRAINT `library_groups_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
2884
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3301
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3302
/*!40101 SET character_set_client = @saved_cs_client */;
2885
3303
2886
--
3304
--
2887
-- Table structure for table `aqbooksellers`
3305
-- Table structure for table `library_smtp_servers`
2888
--
3306
--
2889
3307
2890
DROP TABLE IF EXISTS `aqbooksellers`;
3308
DROP TABLE IF EXISTS `library_smtp_servers`;
2891
CREATE TABLE `aqbooksellers` ( -- information about the vendors listed in acquisitions
3309
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2892
  `id` int(11) NOT NULL auto_increment COMMENT "primary key and unique identifier assigned by Koha",
3310
/*!40101 SET character_set_client = utf8 */;
2893
  `name` LONGTEXT NOT NULL COMMENT "vendor name",
3311
CREATE TABLE `library_smtp_servers` (
2894
  `address1` LONGTEXT COMMENT "first line of vendor physical address",
3312
  `id` int(11) NOT NULL AUTO_INCREMENT,
2895
  `address2` LONGTEXT COMMENT "second line of vendor physical address",
3313
  `library_id` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
2896
  `address3` LONGTEXT COMMENT "third line of vendor physical address",
3314
  `smtp_server_id` int(11) NOT NULL,
2897
  `address4` LONGTEXT COMMENT "fourth line of vendor physical address",
3315
  PRIMARY KEY (`id`),
2898
  `phone` varchar(30) default NULL COMMENT "vendor phone number",
3316
  UNIQUE KEY `library_id_idx` (`library_id`),
2899
  `accountnumber` LONGTEXT COMMENT "vendor account number",
3317
  KEY `smtp_server_id_idx` (`smtp_server_id`),
2900
  `notes` LONGTEXT COMMENT "order notes",
3318
  CONSTRAINT `library_smtp_servers_library_fk` FOREIGN KEY (`library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
2901
  `postal` LONGTEXT COMMENT "vendor postal address (all lines)",
3319
  CONSTRAINT `library_smtp_servers_smtp_servers_fk` FOREIGN KEY (`smtp_server_id`) REFERENCES `smtp_servers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
2902
  `url` varchar(255) default NULL COMMENT "vendor web address",
2903
  `active` tinyint(4) default NULL COMMENT "is this vendor active (1 for yes, 0 for no)",
2904
  `listprice` varchar(10) default NULL COMMENT "currency code for list prices",
2905
  `invoiceprice` varchar(10) default NULL COMMENT "currency code for invoice prices",
2906
  `gstreg` tinyint(4) default NULL COMMENT "is your library charged tax (1 for yes, 0 for no)",
2907
  `listincgst` tinyint(4) default NULL COMMENT "is tax included in list prices (1 for yes, 0 for no)",
2908
  `invoiceincgst` tinyint(4) default NULL COMMENT "is tax included in invoice prices (1 for yes, 0 for no)",
2909
  `tax_rate` decimal(6,4) default NULL COMMENT "the tax rate the library is charged",
2910
  `discount` float(6,4) default NULL COMMENT "discount offered on all items ordered from this vendor",
2911
  `fax` varchar(50) default NULL COMMENT "vendor fax number",
2912
  deliverytime int(11) default NULL COMMENT "vendor delivery time",
2913
  PRIMARY KEY  (`id`),
2914
  KEY `listprice` (`listprice`),
2915
  KEY `invoiceprice` (`invoiceprice`),
2916
  KEY `name` (`name`(255)),
2917
  CONSTRAINT `aqbooksellers_ibfk_1` FOREIGN KEY (`listprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE,
2918
  CONSTRAINT `aqbooksellers_ibfk_2` FOREIGN KEY (`invoiceprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE
2919
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3320
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3321
/*!40101 SET character_set_client = @saved_cs_client */;
2920
3322
2921
--
3323
--
2922
-- Table structure for table `aqbasketgroups`
3324
-- Table structure for table `linktracker`
2923
--
3325
--
2924
3326
2925
DROP TABLE IF EXISTS `aqbasketgroups`;
3327
DROP TABLE IF EXISTS `linktracker`;
2926
CREATE TABLE `aqbasketgroups` (
3328
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2927
  `id` int(11) NOT NULL auto_increment,
3329
/*!40101 SET character_set_client = utf8 */;
2928
  `name` varchar(50) default NULL,
3330
CREATE TABLE `linktracker` (
2929
  `closed` tinyint(1) default NULL,
3331
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key identifier',
2930
  `booksellerid` int(11) NOT NULL,
3332
  `biblionumber` int(11) DEFAULT NULL COMMENT 'biblionumber of the record the link is from',
2931
  `deliveryplace` varchar(10) default NULL,
3333
  `itemnumber` int(11) DEFAULT NULL COMMENT 'itemnumber if applicable that the link was from',
2932
  `freedeliveryplace` MEDIUMTEXT default NULL,
3334
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'borrowernumber who clicked the link',
2933
  `deliverycomment` varchar(255) default NULL,
3335
  `url` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the link itself',
2934
  `billingplace` varchar(10) default NULL,
3336
  `timeclicked` datetime DEFAULT NULL COMMENT 'the date and time the link was clicked',
2935
  PRIMARY KEY  (`id`),
3337
  PRIMARY KEY (`id`),
2936
  KEY `booksellerid` (`booksellerid`),
3338
  KEY `bibidx` (`biblionumber`),
2937
  CONSTRAINT `aqbasketgroups_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE ON DELETE CASCADE
3339
  KEY `itemidx` (`itemnumber`),
3340
  KEY `borridx` (`borrowernumber`),
3341
  KEY `dateidx` (`timeclicked`)
2938
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3342
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3343
/*!40101 SET character_set_client = @saved_cs_client */;
2939
3344
2940
--
3345
--
2941
-- Table structure for table `aqbudgetperiods`
3346
-- Table structure for table `localization`
2942
--
3347
--
2943
3348
2944
DROP TABLE IF EXISTS `aqbudgetperiods`;
3349
DROP TABLE IF EXISTS `localization`;
2945
CREATE TABLE `aqbudgetperiods` ( -- information related to Budgets
3350
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2946
  `budget_period_id` int(11) NOT NULL auto_increment COMMENT "primary key and unique number assigned by Koha",
3351
/*!40101 SET character_set_client = utf8 */;
2947
  `budget_period_startdate` date NOT NULL COMMENT "date when the budget starts",
3352
CREATE TABLE `localization` (
2948
  `budget_period_enddate` date NOT NULL COMMENT "date when the budget ends",
3353
  `localization_id` int(11) NOT NULL AUTO_INCREMENT,
2949
  `budget_period_active` tinyint(1) default '0' COMMENT "whether this budget is active or not (1 for yes, 0 for no)",
3354
  `entity` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
2950
  `budget_period_description` LONGTEXT COMMENT "description assigned to this budget",
3355
  `code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
2951
  `budget_period_total` decimal(28,6) COMMENT "total amount available in this budget",
3356
  `lang` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'could be a foreign key',
2952
  `budget_period_locked` tinyint(1) default NULL COMMENT "whether this budget is locked or not (1 for yes, 0 for no)",
3357
  `translation` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2953
  `sort1_authcat` varchar(10) default NULL COMMENT "statistical category for this budget",
3358
  PRIMARY KEY (`localization_id`),
2954
  `sort2_authcat` varchar(10) default NULL COMMENT "second statistical category for this budget",
3359
  UNIQUE KEY `entity_code_lang` (`entity`,`code`,`lang`)
2955
  PRIMARY KEY  (`budget_period_id`)
2956
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3360
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3361
/*!40101 SET character_set_client = @saved_cs_client */;
3362
3363
--
3364
-- Table structure for table `marc_matchers`
3365
--
3366
3367
DROP TABLE IF EXISTS `marc_matchers`;
3368
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3369
/*!40101 SET character_set_client = utf8 */;
3370
CREATE TABLE `marc_matchers` (
3371
  `matcher_id` int(11) NOT NULL AUTO_INCREMENT,
3372
  `code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3373
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3374
  `record_type` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'biblio',
3375
  `threshold` int(11) NOT NULL DEFAULT 0,
3376
  PRIMARY KEY (`matcher_id`),
3377
  KEY `code` (`code`),
3378
  KEY `record_type` (`record_type`)
3379
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3380
/*!40101 SET character_set_client = @saved_cs_client */;
3381
3382
--
3383
-- Table structure for table `marc_modification_template_actions`
3384
--
3385
3386
DROP TABLE IF EXISTS `marc_modification_template_actions`;
3387
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3388
/*!40101 SET character_set_client = utf8 */;
3389
CREATE TABLE `marc_modification_template_actions` (
3390
  `mmta_id` int(11) NOT NULL AUTO_INCREMENT,
3391
  `template_id` int(11) NOT NULL,
3392
  `ordering` int(3) NOT NULL,
3393
  `action` enum('delete_field','add_field','update_field','move_field','copy_field','copy_and_replace_field') COLLATE utf8mb4_unicode_ci NOT NULL,
3394
  `field_number` smallint(6) NOT NULL DEFAULT 0,
3395
  `from_field` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL,
3396
  `from_subfield` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3397
  `field_value` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3398
  `to_field` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3399
  `to_subfield` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3400
  `to_regex_search` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3401
  `to_regex_replace` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3402
  `to_regex_modifiers` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT '',
3403
  `conditional` enum('if','unless') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3404
  `conditional_field` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3405
  `conditional_subfield` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3406
  `conditional_comparison` enum('exists','not_exists','equals','not_equals') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3407
  `conditional_value` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3408
  `conditional_regex` tinyint(1) NOT NULL DEFAULT 0,
3409
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3410
  PRIMARY KEY (`mmta_id`),
3411
  KEY `mmta_ibfk_1` (`template_id`),
3412
  CONSTRAINT `mmta_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `marc_modification_templates` (`template_id`) ON DELETE CASCADE ON UPDATE CASCADE
3413
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3414
/*!40101 SET character_set_client = @saved_cs_client */;
2957
3415
2958
--
3416
--
2959
-- Table structure for table `aqbudgets`
3417
-- Table structure for table `marc_modification_templates`
2960
--
3418
--
2961
3419
2962
DROP TABLE IF EXISTS `aqbudgets`;
3420
DROP TABLE IF EXISTS `marc_modification_templates`;
2963
CREATE TABLE `aqbudgets` ( -- information related to Funds
3421
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2964
  `budget_id` int(11) NOT NULL auto_increment COMMENT "primary key and unique number assigned to each fund by Koha",
3422
/*!40101 SET character_set_client = utf8 */;
2965
  `budget_parent_id` int(11) default NULL COMMENT "if this fund is a child of another this will include the parent id (aqbudgets.budget_id)",
3423
CREATE TABLE `marc_modification_templates` (
2966
  `budget_code` varchar(30) default NULL COMMENT "code assigned to the fund by the user",
3424
  `template_id` int(11) NOT NULL AUTO_INCREMENT,
2967
  `budget_name` varchar(80) default NULL COMMENT "name assigned to the fund by the user",
3425
  `name` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
2968
  `budget_branchcode` varchar(10) default NULL COMMENT "branch that this fund belongs to (branches.branchcode)",
3426
  PRIMARY KEY (`template_id`)
2969
  `budget_amount` decimal(28,6) NULL default '0.00' COMMENT "total amount for this fund",
3427
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2970
  `budget_encumb` decimal(28,6) NULL default '0.00' COMMENT "budget warning at percentage",
3428
/*!40101 SET character_set_client = @saved_cs_client */;
2971
  `budget_expend` decimal(28,6) NULL default '0.00' COMMENT "budget warning at amount",
2972
  `budget_notes` LONGTEXT COMMENT "notes related to this fund",
2973
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time this fund was last touched (created or modified)",
2974
  `budget_period_id` int(11) default NULL COMMENT "id of the budget that this fund belongs to (aqbudgetperiods.budget_period_id)",
2975
  `sort1_authcat` varchar(80) default NULL COMMENT "statistical category for this fund",
2976
  `sort2_authcat` varchar(80) default NULL COMMENT "second statistical category for this fund",
2977
  `budget_owner_id` int(11) default NULL COMMENT "borrowernumber of the person who owns this fund (borrowers.borrowernumber)",
2978
  `budget_permission` int(1) default '0' COMMENT "level of permission for this fund (used only by the owner, only by the library, or anyone)",
2979
  PRIMARY KEY  (`budget_id`),
2980
  KEY `budget_parent_id` (`budget_parent_id`),
2981
  KEY `budget_code` (`budget_code`),
2982
  KEY `budget_branchcode` (`budget_branchcode`),
2983
  KEY `budget_period_id` (`budget_period_id`),
2984
  KEY `budget_owner_id` (`budget_owner_id`),
2985
  CONSTRAINT `aqbudgetperiods_ibfk_1` FOREIGN KEY (`budget_period_id`) REFERENCES `aqbudgetperiods` (`budget_period_id`) ON UPDATE CASCADE ON DELETE CASCADE
2986
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2987
3429
2988
--
3430
--
2989
-- Table structure for table aqbudgetborrowers
3431
-- Table structure for table `marc_subfield_structure`
2990
--
3432
--
2991
3433
2992
DROP TABLE IF EXISTS aqbudgetborrowers;
3434
DROP TABLE IF EXISTS `marc_subfield_structure`;
2993
CREATE TABLE aqbudgetborrowers (
3435
/*!40101 SET @saved_cs_client     = @@character_set_client */;
2994
  budget_id int(11) NOT NULL,
3436
/*!40101 SET character_set_client = utf8 */;
2995
  borrowernumber int(11) NOT NULL,
3437
CREATE TABLE `marc_subfield_structure` (
2996
  PRIMARY KEY (budget_id, borrowernumber),
3438
  `tagfield` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
2997
  CONSTRAINT aqbudgetborrowers_ibfk_1 FOREIGN KEY (budget_id)
3439
  `tagsubfield` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
2998
    REFERENCES aqbudgets (budget_id)
3440
  `liblibrarian` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
2999
    ON DELETE CASCADE ON UPDATE CASCADE,
3441
  `libopac` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3000
  CONSTRAINT aqbudgetborrowers_ibfk_2 FOREIGN KEY (borrowernumber)
3442
  `repeatable` tinyint(4) NOT NULL DEFAULT 0,
3001
    REFERENCES borrowers (borrowernumber)
3443
  `mandatory` tinyint(4) NOT NULL DEFAULT 0,
3002
    ON DELETE CASCADE ON UPDATE CASCADE
3444
  `important` tinyint(4) NOT NULL DEFAULT 0,
3445
  `kohafield` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3446
  `tab` tinyint(1) DEFAULT NULL,
3447
  `authorised_value` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3448
  `authtypecode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3449
  `value_builder` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3450
  `isurl` tinyint(1) DEFAULT NULL,
3451
  `hidden` tinyint(1) NOT NULL DEFAULT 8,
3452
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3453
  `seealso` varchar(1100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3454
  `link` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3455
  `defaultvalue` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3456
  `maxlength` int(4) NOT NULL DEFAULT 9999,
3457
  PRIMARY KEY (`frameworkcode`,`tagfield`,`tagsubfield`),
3458
  KEY `kohafield_2` (`kohafield`),
3459
  KEY `tab` (`frameworkcode`,`tab`),
3460
  KEY `kohafield` (`frameworkcode`,`kohafield`),
3461
  KEY `marc_subfield_structure_ibfk_1` (`authorised_value`),
3462
  CONSTRAINT `marc_subfield_structure_ibfk_1` FOREIGN KEY (`authorised_value`) REFERENCES `authorised_value_categories` (`category_name`) ON DELETE SET NULL ON UPDATE CASCADE
3003
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3463
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3464
/*!40101 SET character_set_client = @saved_cs_client */;
3004
3465
3005
--
3466
--
3006
-- Table structure for table `aqbudgets_planning`
3467
-- Table structure for table `marc_tag_structure`
3007
--
3468
--
3008
3469
3009
DROP TABLE IF EXISTS `aqbudgets_planning`;
3470
DROP TABLE IF EXISTS `marc_tag_structure`;
3010
CREATE TABLE `aqbudgets_planning` (
3471
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3011
  `plan_id` int(11) NOT NULL auto_increment,
3472
/*!40101 SET character_set_client = utf8 */;
3012
  `budget_id` int(11) NOT NULL,
3473
CREATE TABLE `marc_tag_structure` (
3013
  `budget_period_id` int(11) NOT NULL,
3474
  `tagfield` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3014
  `estimated_amount` decimal(28,6) default NULL,
3475
  `liblibrarian` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3015
  `authcat` varchar(30) NOT NULL,
3476
  `libopac` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3016
  `authvalue` varchar(30) NOT NULL,
3477
  `repeatable` tinyint(4) NOT NULL DEFAULT 0,
3017
  `display` tinyint(1) DEFAULT 1,
3478
  `mandatory` tinyint(4) NOT NULL DEFAULT 0,
3018
  PRIMARY KEY  (`plan_id`),
3479
  `important` tinyint(4) NOT NULL DEFAULT 0,
3019
  KEY `budget_period_id` (`budget_period_id`),
3480
  `authorised_value` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3020
  CONSTRAINT `aqbudgets_planning_ifbk_1` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE
3481
  `ind1_defaultvalue` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3482
  `ind2_defaultvalue` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3483
  `frameworkcode` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3484
  PRIMARY KEY (`frameworkcode`,`tagfield`)
3021
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3485
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3486
/*!40101 SET character_set_client = @saved_cs_client */;
3022
3487
3023
--
3488
--
3024
-- Table structure for table 'aqcontacts'
3489
-- Table structure for table `matchchecks`
3025
--
3490
--
3026
3491
3027
DROP TABLE IF EXISTS aqcontacts;
3492
DROP TABLE IF EXISTS `matchchecks`;
3028
CREATE TABLE aqcontacts (
3493
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3029
  id int(11) NOT NULL auto_increment COMMENT "primary key and unique number assigned by Koha",
3494
/*!40101 SET character_set_client = utf8 */;
3030
  name varchar(100) default NULL COMMENT "name of contact at vendor",
3495
CREATE TABLE `matchchecks` (
3031
  position varchar(100) default NULL COMMENT "contact person's position",
3496
  `matcher_id` int(11) NOT NULL,
3032
  phone varchar(100) default NULL COMMENT "contact's phone number",
3497
  `matchcheck_id` int(11) NOT NULL AUTO_INCREMENT,
3033
  altphone varchar(100) default NULL COMMENT "contact's alternate phone number",
3498
  `source_matchpoint_id` int(11) NOT NULL,
3034
  fax varchar(100) default NULL COMMENT "contact's fax number",
3499
  `target_matchpoint_id` int(11) NOT NULL,
3035
  email varchar(100) default NULL COMMENT "contact's email address",
3500
  PRIMARY KEY (`matchcheck_id`),
3036
  notes LONGTEXT COMMENT "notes related to the contact",
3501
  KEY `matcher_matchchecks_ifbk_1` (`matcher_id`),
3037
  orderacquisition tinyint(1) NOT NULL DEFAULT 0 COMMENT "should this contact receive acquisition orders",
3502
  KEY `matcher_matchchecks_ifbk_2` (`source_matchpoint_id`),
3038
  claimacquisition tinyint(1) NOT NULL DEFAULT 0 COMMENT "should this contact receive acquisitions claims",
3503
  KEY `matcher_matchchecks_ifbk_3` (`target_matchpoint_id`),
3039
  claimissues tinyint(1) NOT NULL DEFAULT 0 COMMENT "should this contact receive serial claims",
3504
  CONSTRAINT `matcher_matchchecks_ifbk_1` FOREIGN KEY (`matcher_id`) REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3040
  acqprimary tinyint(1) NOT NULL DEFAULT 0 COMMENT "is this the primary contact for acquisitions messages",
3505
  CONSTRAINT `matcher_matchchecks_ifbk_2` FOREIGN KEY (`source_matchpoint_id`) REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3041
  serialsprimary tinyint(1) NOT NULL DEFAULT 0 COMMENT "is this the primary contact for serials messages",
3506
  CONSTRAINT `matcher_matchchecks_ifbk_3` FOREIGN KEY (`target_matchpoint_id`) REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
3042
  booksellerid int(11) not NULL,
3507
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3043
  PRIMARY KEY  (id),
3508
/*!40101 SET character_set_client = @saved_cs_client */;
3044
  CONSTRAINT booksellerid_aqcontacts_fk FOREIGN KEY (booksellerid)
3045
       REFERENCES aqbooksellers (id) ON DELETE CASCADE ON UPDATE CASCADE
3046
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;
3047
3509
3048
--
3510
--
3049
-- Table structure for table 'aqcontract'
3511
-- Table structure for table `matcher_matchpoints`
3050
--
3512
--
3051
3513
3052
DROP TABLE IF EXISTS `aqcontract`;
3514
DROP TABLE IF EXISTS `matcher_matchpoints`;
3053
CREATE TABLE `aqcontract` (
3515
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3054
  `contractnumber` int(11) NOT NULL auto_increment,
3516
/*!40101 SET character_set_client = utf8 */;
3055
  `contractstartdate` date default NULL,
3517
CREATE TABLE `matcher_matchpoints` (
3056
  `contractenddate` date default NULL,
3518
  `matcher_id` int(11) NOT NULL,
3057
  `contractname` varchar(50) default NULL,
3519
  `matchpoint_id` int(11) NOT NULL,
3058
  `contractdescription` LONGTEXT,
3520
  KEY `matcher_matchpoints_ifbk_1` (`matcher_id`),
3059
  `booksellerid` int(11) not NULL,
3521
  KEY `matcher_matchpoints_ifbk_2` (`matchpoint_id`),
3060
  PRIMARY KEY  (`contractnumber`),
3522
  CONSTRAINT `matcher_matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`) REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3061
  CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`)
3523
  CONSTRAINT `matcher_matchpoints_ifbk_2` FOREIGN KEY (`matchpoint_id`) REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
3062
       REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3524
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3063
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1 ;
3525
/*!40101 SET character_set_client = @saved_cs_client */;
3064
3526
3065
--
3527
--
3066
-- Table structure for table `aqbasket`
3528
-- Table structure for table `matchpoint_component_norms`
3067
--
3529
--
3068
3530
3069
DROP TABLE IF EXISTS `aqbasket`;
3531
DROP TABLE IF EXISTS `matchpoint_component_norms`;
3070
CREATE TABLE `aqbasket` ( -- stores data about baskets in acquisitions
3532
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3071
  `basketno` int(11) NOT NULL auto_increment COMMENT "primary key, Koha defined number",
3533
/*!40101 SET character_set_client = utf8 */;
3072
  `basketname` varchar(50) default NULL COMMENT "name given to the basket at creation",
3534
CREATE TABLE `matchpoint_component_norms` (
3073
  `note` LONGTEXT COMMENT "the internal note added at basket creation",
3535
  `matchpoint_component_id` int(11) NOT NULL,
3074
  `booksellernote` LONGTEXT COMMENT "the vendor note added at basket creation",
3536
  `sequence` int(11) NOT NULL DEFAULT 0,
3075
  `contractnumber` int(11) COMMENT "links this basket to the aqcontract table (aqcontract.contractnumber)",
3537
  `norm_routine` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3076
  `creationdate` date default NULL COMMENT "the date the basket was created",
3538
  KEY `matchpoint_component_norms` (`matchpoint_component_id`,`sequence`),
3077
  `closedate` date default NULL COMMENT "the date the basket was closed",
3539
  CONSTRAINT `matchpoint_component_norms_ifbk_1` FOREIGN KEY (`matchpoint_component_id`) REFERENCES `matchpoint_components` (`matchpoint_component_id`) ON DELETE CASCADE ON UPDATE CASCADE
3078
  `booksellerid` int(11) NOT NULL default 1 COMMENT "the Koha assigned ID for the vendor (aqbooksellers.id)",
3079
  `authorisedby` varchar(10) default NULL COMMENT "the borrowernumber of the person who created the basket",
3080
  `booksellerinvoicenumber` LONGTEXT COMMENT "appears to always be NULL",
3081
  `basketgroupid` int(11) COMMENT "links this basket to its group (aqbasketgroups.id)",
3082
  `deliveryplace` varchar(10) default NULL COMMENT "basket delivery place",
3083
  `billingplace` varchar(10) default NULL COMMENT "basket billing place",
3084
  branch varchar(10) default NULL COMMENT "basket branch",
3085
  is_standing TINYINT(1) NOT NULL DEFAULT 0 COMMENT "orders in this basket are standing",
3086
  create_items ENUM('ordering', 'receiving', 'cataloguing') default NULL COMMENT "when items should be created for orders in this basket",
3087
  PRIMARY KEY  (`basketno`),
3088
  KEY `booksellerid` (`booksellerid`),
3089
  KEY `basketgroupid` (`basketgroupid`),
3090
  KEY `contractnumber` (`contractnumber`),
3091
  KEY `authorisedby` (`authorisedby`),
3092
  CONSTRAINT `aqbasket_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE,
3093
  CONSTRAINT `aqbasket_ibfk_2` FOREIGN KEY (`contractnumber`) REFERENCES `aqcontract` (`contractnumber`),
3094
  CONSTRAINT `aqbasket_ibfk_3` FOREIGN KEY (`basketgroupid`) REFERENCES `aqbasketgroups` (`id`) ON UPDATE CASCADE,
3095
  CONSTRAINT aqbasket_ibfk_4 FOREIGN KEY (branch) REFERENCES branches (branchcode) ON UPDATE CASCADE ON DELETE SET NULL
3096
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3540
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3541
/*!40101 SET character_set_client = @saved_cs_client */;
3097
3542
3098
--
3543
--
3099
-- Table structure for table aqbasketusers
3544
-- Table structure for table `matchpoint_components`
3100
--
3545
--
3101
3546
3102
DROP TABLE IF EXISTS aqbasketusers;
3547
DROP TABLE IF EXISTS `matchpoint_components`;
3103
CREATE TABLE aqbasketusers (
3548
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3104
  basketno int(11) NOT NULL,
3549
/*!40101 SET character_set_client = utf8 */;
3105
  borrowernumber int(11) NOT NULL,
3550
CREATE TABLE `matchpoint_components` (
3106
  PRIMARY KEY (basketno,borrowernumber),
3551
  `matchpoint_id` int(11) NOT NULL,
3107
  CONSTRAINT aqbasketusers_ibfk_1 FOREIGN KEY (basketno) REFERENCES aqbasket (basketno) ON UPDATE CASCADE ON DELETE CASCADE,
3552
  `matchpoint_component_id` int(11) NOT NULL AUTO_INCREMENT,
3108
  CONSTRAINT aqbasketusers_ibfk_2 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON UPDATE CASCADE ON DELETE CASCADE
3553
  `sequence` int(11) NOT NULL DEFAULT 0,
3109
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3554
  `tag` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3555
  `subfields` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3556
  `offset` int(4) NOT NULL DEFAULT 0,
3557
  `length` int(4) NOT NULL DEFAULT 0,
3558
  PRIMARY KEY (`matchpoint_component_id`),
3559
  KEY `by_sequence` (`matchpoint_id`,`sequence`),
3560
  CONSTRAINT `matchpoint_components_ifbk_1` FOREIGN KEY (`matchpoint_id`) REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
3561
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3562
/*!40101 SET character_set_client = @saved_cs_client */;
3110
3563
3111
--
3564
--
3112
-- Table structure for table `suggestions`
3565
-- Table structure for table `matchpoints`
3113
--
3566
--
3114
3567
3115
DROP TABLE IF EXISTS `suggestions`;
3568
DROP TABLE IF EXISTS `matchpoints`;
3116
CREATE TABLE `suggestions` ( -- purchase suggestions
3569
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3117
  `suggestionid` int(8) NOT NULL auto_increment COMMENT "unique identifier assigned automatically by Koha",
3570
/*!40101 SET character_set_client = utf8 */;
3118
  `suggestedby` int(11) DEFAULT NULL COMMENT "borrowernumber for the person making the suggestion, foreign key linking to the borrowers table",
3571
CREATE TABLE `matchpoints` (
3119
  `suggesteddate` date NOT NULL COMMENT "date the suggestion was submitted",
3572
  `matcher_id` int(11) NOT NULL,
3120
  `managedby` int(11) default NULL COMMENT "borrowernumber for the librarian managing the suggestion, foreign key linking to the borrowers table",
3573
  `matchpoint_id` int(11) NOT NULL AUTO_INCREMENT,
3121
  `manageddate` date default NULL COMMENT "date the suggestion was updated",
3574
  `search_index` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3122
   acceptedby INT(11) default NULL COMMENT "borrowernumber for the librarian who accepted the suggestion, foreign key linking to the borrowers table",
3575
  `score` int(11) NOT NULL DEFAULT 0,
3123
   accepteddate date default NULL COMMENT "date the suggestion was marked as accepted",
3576
  PRIMARY KEY (`matchpoint_id`),
3124
   rejectedby INT(11) default NULL COMMENT "borrowernumber for the librarian who rejected the suggestion, foreign key linking to the borrowers table",
3577
  KEY `matchpoints_ifbk_1` (`matcher_id`),
3125
   rejecteddate date default NULL COMMENT "date the suggestion was marked as rejected",
3578
  CONSTRAINT `matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`) REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE
3126
   lastmodificationby INT(11) default NULL COMMENT "borrowernumber for the librarian who edit the suggestion for the last time",
3579
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3127
   lastmodificationdate date default NULL COMMENT "date of the last modification",
3580
/*!40101 SET character_set_client = @saved_cs_client */;
3128
  `STATUS` varchar(10) NOT NULL default '' COMMENT "suggestion status (ASKED, CHECKED, ACCEPTED, REJECTED, ORDERED, AVAILABLE or a value from the SUGGEST_STATUS authorised value category)",
3129
  `archived` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "is the suggestion archived?",
3130
  `note` LONGTEXT COMMENT "note entered on the suggestion",
3131
  `author` varchar(80) default NULL COMMENT "author of the suggested item",
3132
  `title` varchar(255) default NULL COMMENT "title of the suggested item",
3133
  `copyrightdate` smallint(6) default NULL COMMENT "copyright date of the suggested item",
3134
  `publishercode` varchar(255) default NULL COMMENT "publisher of the suggested item",
3135
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "date and time the suggestion was updated",
3136
  `volumedesc` varchar(255) default NULL,
3137
  `publicationyear` smallint(6) default 0,
3138
  `place` varchar(255) default NULL COMMENT "publication place of the suggested item",
3139
  `isbn` varchar(30) default NULL COMMENT "isbn of the suggested item",
3140
  `biblionumber` int(11) default NULL COMMENT "foreign key linking the suggestion to the biblio table after the suggestion has been ordered",
3141
  `reason` MEDIUMTEXT COMMENT "reason for accepting or rejecting the suggestion",
3142
  `patronreason` MEDIUMTEXT COMMENT "reason for making the suggestion",
3143
   budgetid INT(11) COMMENT "foreign key linking the suggested budget to the aqbudgets table",
3144
   branchcode VARCHAR(10) default NULL COMMENT "foreign key linking the suggested branch to the branches table",
3145
   collectiontitle MEDIUMTEXT default NULL COMMENT "collection name for the suggested item",
3146
   itemtype VARCHAR(30) default NULL COMMENT "suggested item type",
3147
   quantity SMALLINT(6) default NULL COMMENT "suggested quantity to be purchased",
3148
   currency VARCHAR(10) default NULL COMMENT "suggested currency for the suggested price",
3149
   price DECIMAL(28,6) default NULL COMMENT "suggested price",
3150
   total DECIMAL(28,6) default NULL COMMENT "suggested total cost (price*quantity updated for currency)",
3151
  PRIMARY KEY  (`suggestionid`),
3152
  KEY `suggestedby` (`suggestedby`),
3153
  KEY `managedby` (`managedby`),
3154
  KEY `acceptedby` (`acceptedby`),
3155
  KEY `rejectedby` (`rejectedby`),
3156
  KEY `biblionumber` (`biblionumber`),
3157
  KEY `budgetid` (`budgetid`),
3158
  KEY `branchcode` (`branchcode`),
3159
  KEY `status` (`STATUS`),
3160
  CONSTRAINT `suggestions_ibfk_suggestedby` FOREIGN KEY (`suggestedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3161
  CONSTRAINT `suggestions_ibfk_managedby` FOREIGN KEY (`managedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3162
  CONSTRAINT `suggestions_ibfk_acceptedby` FOREIGN KEY (`acceptedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3163
  CONSTRAINT `suggestions_ibfk_rejectedby` FOREIGN KEY (`rejectedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3164
  CONSTRAINT `suggestions_ibfk_lastmodificationby` FOREIGN KEY (`lastmodificationby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3165
  CONSTRAINT `suggestions_ibfk_biblionumber` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3166
  CONSTRAINT `suggestions_budget_id_fk` FOREIGN KEY (`budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE,
3167
  CONSTRAINT `suggestions_ibfk_branchcode` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE
3168
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3169
3170
--
3171
-- Table structure for table vendor_edi_accounts
3172
--
3173
3174
DROP TABLE IF EXISTS vendor_edi_accounts;
3175
CREATE TABLE IF NOT EXISTS vendor_edi_accounts (
3176
  id INT(11) NOT NULL auto_increment,
3177
  description MEDIUMTEXT NOT NULL,
3178
  host VARCHAR(40),
3179
  username VARCHAR(40),
3180
  password VARCHAR(40),
3181
  last_activity DATE,
3182
  vendor_id INT(11) REFERENCES aqbooksellers( id ),
3183
  download_directory MEDIUMTEXT,
3184
  upload_directory MEDIUMTEXT,
3185
  san VARCHAR(20),
3186
  id_code_qualifier VARCHAR(3) default '14',
3187
  transport VARCHAR(6) default 'FTP',
3188
  quotes_enabled TINYINT(1) not null default 0,
3189
  invoices_enabled TINYINT(1) not null default 0,
3190
  orders_enabled TINYINT(1) not null default 0,
3191
  responses_enabled TINYINT(1) not null default 0,
3192
  auto_orders TINYINT(1) not null default 0,
3193
  shipment_budget INTEGER(11) REFERENCES aqbudgets( budget_id ),
3194
  plugin varchar(256) NOT NULL DEFAULT "",
3195
  PRIMARY KEY  (id),
3196
  KEY vendorid (vendor_id),
3197
  KEY shipmentbudget (shipment_budget),
3198
  CONSTRAINT vfk_vendor_id FOREIGN KEY ( vendor_id ) REFERENCES aqbooksellers ( id ),
3199
  CONSTRAINT vfk_shipment_budget FOREIGN KEY ( shipment_budget ) REFERENCES aqbudgets ( budget_id )
3200
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3201
3202
--
3203
-- Table structure for table edifact_messages
3204
--
3205
3206
DROP TABLE IF EXISTS edifact_messages;
3207
CREATE TABLE IF NOT EXISTS edifact_messages (
3208
  id INT(11) NOT NULL auto_increment,
3209
  message_type VARCHAR(10) NOT NULL,
3210
  transfer_date DATE,
3211
  vendor_id INT(11) REFERENCES aqbooksellers( id ),
3212
  edi_acct  INTEGER REFERENCES vendor_edi_accounts( id ),
3213
  status MEDIUMTEXT,
3214
  basketno INT(11) REFERENCES aqbasket( basketno),
3215
  raw_msg LONGTEXT,
3216
  filename MEDIUMTEXT,
3217
  deleted tinyint(1) NOT NULL DEFAULT 0,
3218
  PRIMARY KEY  (id),
3219
  KEY vendorid ( vendor_id),
3220
  KEY ediacct (edi_acct),
3221
  KEY basketno ( basketno),
3222
  CONSTRAINT emfk_vendor FOREIGN KEY ( vendor_id ) REFERENCES aqbooksellers ( id ) ON DELETE CASCADE ON UPDATE CASCADE,
3223
  CONSTRAINT emfk_edi_acct FOREIGN KEY ( edi_acct ) REFERENCES vendor_edi_accounts ( id ) ON DELETE CASCADE ON UPDATE CASCADE,
3224
  CONSTRAINT emfk_basketno FOREIGN KEY ( basketno ) REFERENCES aqbasket ( basketno ) ON DELETE CASCADE ON UPDATE CASCADE
3225
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3226
3227
--
3228
-- Table structure for table aqinvoices
3229
--
3230
3231
DROP TABLE IF EXISTS aqinvoices;
3232
CREATE TABLE aqinvoices (
3233
  invoiceid int(11) NOT NULL AUTO_INCREMENT COMMENT "ID of the invoice, primary key",
3234
  invoicenumber LONGTEXT NOT NULL COMMENT "Name of invoice",
3235
  booksellerid int(11) NOT NULL COMMENT "foreign key to aqbooksellers",
3236
  shipmentdate date default NULL COMMENT "date of shipment",
3237
  billingdate date default NULL COMMENT "date of billing",
3238
  closedate date default NULL COMMENT "invoice close date, NULL means the invoice is open",
3239
  shipmentcost decimal(28,6) default NULL COMMENT "shipment cost",
3240
  shipmentcost_budgetid int(11) default NULL COMMENT "foreign key to aqbudgets, link the shipment cost to a budget",
3241
  message_id int(11) default NULL COMMENT "foreign key to edifact invoice message",
3242
  PRIMARY KEY (invoiceid),
3243
  CONSTRAINT aqinvoices_fk_aqbooksellerid FOREIGN KEY (booksellerid) REFERENCES aqbooksellers (id) ON DELETE CASCADE ON UPDATE CASCADE,
3244
  CONSTRAINT edifact_msg_fk FOREIGN KEY ( message_id ) REFERENCES edifact_messages ( id ) ON DELETE SET NULL,
3245
  CONSTRAINT aqinvoices_fk_shipmentcost_budgetid FOREIGN KEY (shipmentcost_budgetid) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
3246
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3247
3248
--
3249
-- Table structure for table 'aqinvoice_adjustments'
3250
--
3251
3252
DROP TABLE IF EXISTS aqinvoice_adjustments;
3253
CREATE TABLE aqinvoice_adjustments (
3254
    adjustment_id int(11) NOT NULL AUTO_INCREMENT COMMENT "primary key for adjustments",
3255
    invoiceid int(11) NOT NULL COMMENT "foreign key to link an adjustment to an invoice",
3256
    adjustment decimal(28,6) COMMENT "amount of adjustment",
3257
    reason varchar(80) default NULL COMMENT "reason for adjustment defined by authorised values in ADJ_REASON category",
3258
    note mediumtext default NULL COMMENT "text to explain adjustment",
3259
    budget_id int(11) default NULL COMMENT "optional link to budget to apply adjustment to",
3260
    encumber_open smallint(1) NOT NULL default 1 COMMENT "whether or not to encumber the funds when invoice is still open, 1 = yes, 0 = no",
3261
    timestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "timestamp  of last adjustment to adjustment",
3262
    PRIMARY KEY (adjustment_id),
3263
    CONSTRAINT aqinvoice_adjustments_fk_invoiceid FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE CASCADE ON UPDATE CASCADE,
3264
    CONSTRAINT aqinvoice_adjustments_fk_budget_id FOREIGN KEY (budget_id) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
3265
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3266
3581
3267
--
3582
--
3268
-- Table structure for table `aqorders`
3583
-- Table structure for table `message_attributes`
3269
--
3584
--
3270
3585
3271
DROP TABLE IF EXISTS `aqorders`;
3586
DROP TABLE IF EXISTS `message_attributes`;
3272
CREATE TABLE `aqorders` ( -- information related to the basket line items
3587
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3273
  `ordernumber` int(11) NOT NULL auto_increment COMMENT "primary key and unique identifier assigned by Koha to each line",
3588
/*!40101 SET character_set_client = utf8 */;
3274
  `biblionumber` int(11) default NULL COMMENT "links the order to the biblio being ordered (biblio.biblionumber)",
3589
CREATE TABLE `message_attributes` (
3275
  `entrydate` date default NULL COMMENT "the date the bib was added to the basket",
3590
  `message_attribute_id` int(11) NOT NULL AUTO_INCREMENT,
3276
  `quantity` smallint(6) default NULL COMMENT "the quantity ordered",
3591
  `message_name` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3277
  `currency` varchar(10) default NULL COMMENT "the currency used for the purchase",
3592
  `takes_days` tinyint(1) NOT NULL DEFAULT 0,
3278
  `listprice` decimal(28,6) default NULL COMMENT "the vendor price for this line item",
3593
  PRIMARY KEY (`message_attribute_id`),
3279
  `datereceived` date default NULL COMMENT "the date this order was received",
3594
  UNIQUE KEY `message_name` (`message_name`)
3280
  invoiceid int(11) default NULL COMMENT "id of invoice",
3595
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3281
  `freight` decimal(28,6) DEFAULT NULL COMMENT "shipping costs (not used)",
3596
/*!40101 SET character_set_client = @saved_cs_client */;
3282
  `unitprice` decimal(28,6) DEFAULT NULL COMMENT "the actual cost entered when receiving this line item",
3283
  `unitprice_tax_excluded` decimal(28,6) default NULL COMMENT "the unit price excluding tax (on receiving)",
3284
  `unitprice_tax_included` decimal(28,6) default NULL COMMENT "the unit price including tax (on receiving)",
3285
  `quantityreceived` smallint(6) NOT NULL default 0 COMMENT "the quantity that have been received so far",
3286
  `created_by` int(11) NULL DEFAULT NULL COMMENT "the borrowernumber of order line's creator",
3287
  `datecancellationprinted` date default NULL COMMENT "the date the line item was deleted",
3288
  `cancellationreason` MEDIUMTEXT default NULL COMMENT "reason of cancellation",
3289
  `order_internalnote` LONGTEXT COMMENT "notes related to this order line, made for staff",
3290
  `order_vendornote` LONGTEXT COMMENT "notes related to this order line, made for vendor",
3291
  `purchaseordernumber` LONGTEXT COMMENT "not used? always NULL",
3292
  `basketno` int(11) default NULL COMMENT "links this order line to a specific basket (aqbasket.basketno)",
3293
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this order line was last modified",
3294
  `rrp` decimal(13,2) DEFAULT NULL COMMENT "the retail cost for this line item",
3295
  `replacementprice` decimal(28,6) DEFAULT NULL COMMENT "the replacement cost for this line item",
3296
  `rrp_tax_excluded` decimal(28,6) default NULL COMMENT "the replacement cost excluding tax",
3297
  `rrp_tax_included` decimal(28,6) default NULL COMMENT "the replacement cost including tax",
3298
  `ecost` decimal(13,2) DEFAULT NULL COMMENT "the replacement cost for this line item",
3299
  `ecost_tax_excluded` decimal(28,6) default NULL COMMENT "the estimated cost excluding tax",
3300
  `ecost_tax_included` decimal(28,6) default NULL COMMENT "the estimated cost including tax",
3301
  `tax_rate_bak` decimal(6,4) DEFAULT NULL COMMENT "the tax rate for this line item (%)",
3302
  `tax_rate_on_ordering` decimal(6,4) DEFAULT NULL COMMENT "the tax rate on ordering for this line item (%)",
3303
  `tax_rate_on_receiving` decimal(6,4) DEFAULT NULL COMMENT "the tax rate on receiving for this line item (%)",
3304
  `tax_value_bak` decimal(28,6) default NULL COMMENT "the tax value for this line item",
3305
  `tax_value_on_ordering` decimal(28,6) DEFAULT NULL COMMENT "the tax value on ordering for this line item",
3306
  `tax_value_on_receiving` decimal(28,6) DEFAULT NULL COMMENT "the tax value on receiving for this line item",
3307
  `discount` float(6,4) default NULL COMMENT "the discount for this line item (%)",
3308
  `budget_id` int(11) NOT NULL COMMENT "the fund this order goes against (aqbudgets.budget_id)",
3309
  `budgetdate` date default NULL COMMENT "not used? always NULL",
3310
  `sort1` varchar(80) default NULL COMMENT "statistical field",
3311
  `sort2` varchar(80) default NULL COMMENT "second statistical field",
3312
  `sort1_authcat` varchar(10) default NULL,
3313
  `sort2_authcat` varchar(10) default NULL,
3314
  `uncertainprice` tinyint(1) COMMENT "was this price uncertain (1 for yes, 0 for no)",
3315
  `subscriptionid` int(11) default NULL COMMENT "links this order line to a subscription (subscription.subscriptionid)",
3316
  parent_ordernumber int(11) default NULL COMMENT "ordernumber of parent order line, or same as ordernumber if no parent",
3317
  `orderstatus` varchar(16) default 'new' COMMENT "the current status for this line item. Can be 'new', 'ordered', 'partial', 'complete' or 'cancelled'",
3318
  line_item_id varchar(35) default NULL COMMENT "Supplier's article id for Edifact orderline",
3319
  suppliers_reference_number varchar(35) default NULL COMMENT "Suppliers unique edifact quote ref",
3320
  suppliers_reference_qualifier varchar(3) default NULL COMMENT "Type of number above usually 'QLI'",
3321
  `suppliers_report` MEDIUMTEXT COLLATE utf8mb4_unicode_ci COMMENT "reports received from suppliers",
3322
  PRIMARY KEY  (`ordernumber`),
3323
  KEY `basketno` (`basketno`),
3324
  KEY `biblionumber` (`biblionumber`),
3325
  KEY `budget_id` (`budget_id`),
3326
  KEY `parent_ordernumber` (`parent_ordernumber`),
3327
  KEY `orderstatus` (`orderstatus`),
3328
  CONSTRAINT aqorders_created_by FOREIGN KEY (created_by) REFERENCES borrowers (borrowernumber) ON DELETE SET NULL ON UPDATE CASCADE,
3329
  CONSTRAINT `aqorders_budget_id_fk` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3330
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
3331
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3332
  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
3333
  CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE,
3334
  CONSTRAINT `aqorders_currency` FOREIGN KEY (`currency`) REFERENCES `currency` (`currency`) ON DELETE SET NULL ON UPDATE SET NULL
3335
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3336
3597
3337
--
3598
--
3338
-- Table structure for table `aqorder_users`
3599
-- Table structure for table `message_queue`
3339
--
3600
--
3340
3601
3341
DROP TABLE IF EXISTS `aqorder_users`;
3602
DROP TABLE IF EXISTS `message_queue`;
3342
CREATE TABLE aqorder_users ( -- Mapping orders to patrons for notification sending
3603
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3343
    ordernumber int(11) NOT NULL COMMENT "the order this patrons receive notifications from (aqorders.ordernumber)",
3604
/*!40101 SET character_set_client = utf8 */;
3344
    borrowernumber int(11) NOT NULL COMMENT "the borrowernumber for the patron receiving notifications for this order (borrowers.borrowernumber)",
3605
CREATE TABLE `message_queue` (
3345
    PRIMARY KEY (ordernumber, borrowernumber),
3606
  `message_id` int(11) NOT NULL AUTO_INCREMENT,
3346
    CONSTRAINT aqorder_users_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE,
3607
  `borrowernumber` int(11) DEFAULT NULL,
3347
    CONSTRAINT aqorder_users_ibfk_2 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE
3608
  `subject` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3609
  `content` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3610
  `metadata` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3611
  `letter_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3612
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
3613
  `status` enum('sent','pending','failed','deleted') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
3614
  `time_queued` timestamp NULL DEFAULT NULL,
3615
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
3616
  `to_address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3617
  `from_address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3618
  `reply_address` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3619
  `content_type` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3620
  PRIMARY KEY (`message_id`),
3621
  KEY `borrowernumber` (`borrowernumber`),
3622
  KEY `message_transport_type` (`message_transport_type`),
3623
  CONSTRAINT `messageq_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3624
  CONSTRAINT `messageq_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON UPDATE CASCADE
3348
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3625
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3626
/*!40101 SET character_set_client = @saved_cs_client */;
3349
3627
3350
--
3628
--
3351
-- Table structure for table `aqorders_items`
3629
-- Table structure for table `message_transport_types`
3352
--
3630
--
3353
3631
3354
DROP TABLE IF EXISTS `aqorders_items`;
3632
DROP TABLE IF EXISTS `message_transport_types`;
3355
CREATE TABLE `aqorders_items` ( -- information on items entered in the acquisitions process
3633
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3356
  `ordernumber` int(11) NOT NULL COMMENT "the order this item is attached to (aqorders.ordernumber)",
3634
/*!40101 SET character_set_client = utf8 */;
3357
  `itemnumber` int(11) NOT NULL COMMENT "the item number for this item (items.itemnumber)",
3635
CREATE TABLE `message_transport_types` (
3358
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT "the date and time this order item was last touched",
3636
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
3359
  PRIMARY KEY  (`itemnumber`),
3637
  PRIMARY KEY (`message_transport_type`)
3360
  KEY `ordernumber` (`ordernumber`),
3361
  CONSTRAINT aqorders_items_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE
3362
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3638
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3639
/*!40101 SET character_set_client = @saved_cs_client */;
3363
3640
3364
--
3641
--
3365
-- Table structure for table aqorders_transfers
3642
-- Table structure for table `message_transports`
3366
--
3643
--
3367
3644
3368
DROP TABLE IF EXISTS aqorders_transfers;
3645
DROP TABLE IF EXISTS `message_transports`;
3369
CREATE TABLE aqorders_transfers (
3646
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3370
  ordernumber_from int(11) NULL,
3647
/*!40101 SET character_set_client = utf8 */;
3371
  ordernumber_to int(11) NULL,
3648
CREATE TABLE `message_transports` (
3372
  timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
3649
  `message_attribute_id` int(11) NOT NULL,
3373
  UNIQUE KEY ordernumber_from (ordernumber_from),
3650
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
3374
  UNIQUE KEY ordernumber_to (ordernumber_to),
3651
  `is_digest` tinyint(1) NOT NULL DEFAULT 0,
3375
  CONSTRAINT aqorders_transfers_ordernumber_from FOREIGN KEY (ordernumber_from) REFERENCES aqorders (ordernumber) ON DELETE SET NULL ON UPDATE CASCADE,
3652
  `letter_module` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3376
  CONSTRAINT aqorders_transfers_ordernumber_to FOREIGN KEY (ordernumber_to) REFERENCES aqorders (ordernumber) ON DELETE SET NULL ON UPDATE CASCADE
3653
  `letter_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3654
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
3655
  PRIMARY KEY (`message_attribute_id`,`message_transport_type`,`is_digest`),
3656
  KEY `message_transport_type` (`message_transport_type`),
3657
  KEY `letter_module` (`letter_module`,`letter_code`),
3658
  CONSTRAINT `message_transports_ibfk_1` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3659
  CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
3377
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3660
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3661
/*!40101 SET character_set_client = @saved_cs_client */;
3378
3662
3379
--
3663
--
3380
-- Table structure for table aqorders_claims
3664
-- Table structure for table `messages`
3381
--
3665
--
3382
3666
3383
DROP TABLE IF EXISTS aqorders_claims;
3667
DROP TABLE IF EXISTS `messages`;
3384
CREATE TABLE aqorders_claims (
3668
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3385
    id int(11) AUTO_INCREMENT COMMENT "ID of the claims",
3669
/*!40101 SET character_set_client = utf8 */;
3386
    ordernumber INT(11) NOT NULL COMMENT "order linked to this claim",
3670
CREATE TABLE `messages` (
3387
    claimed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "Date of the claims",
3671
  `message_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
3388
    PRIMARY KEY (id),
3672
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key linking this message to the borrowers table',
3389
    CONSTRAINT aqorders_claims_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE
3673
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key linking the message to the branches table',
3390
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
3674
  `message_type` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'whether the message is for the librarians (L) or the patron (B)',
3675
  `message` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the text of the message',
3676
  `message_date` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'the date and time the message was written',
3677
  `manager_id` int(11) DEFAULT NULL COMMENT 'creator of message',
3678
  PRIMARY KEY (`message_id`),
3679
  KEY `messages_ibfk_1` (`manager_id`),
3680
  KEY `messages_borrowernumber` (`borrowernumber`),
3681
  CONSTRAINT `messages_borrowernumber` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3682
  CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL
3683
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3684
/*!40101 SET character_set_client = @saved_cs_client */;
3391
3685
3392
--
3686
--
3393
-- Table structure for table `transport_cost`
3687
-- Table structure for table `misc_files`
3394
--
3688
--
3395
3689
3396
DROP TABLE IF EXISTS transport_cost;
3690
DROP TABLE IF EXISTS `misc_files`;
3397
CREATE TABLE transport_cost (
3691
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3398
      frombranch varchar(10) NOT NULL,
3692
/*!40101 SET character_set_client = utf8 */;
3399
      tobranch varchar(10) NOT NULL,
3693
CREATE TABLE `misc_files` (
3400
      cost decimal(6,2) NOT NULL,
3694
  `file_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id for the file record',
3401
      disable_transfer tinyint(1) NOT NULL DEFAULT 0,
3695
  `table_tag` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'usually table name, or arbitrary unique tag',
3402
      PRIMARY KEY (frombranch, tobranch),
3696
  `record_id` int(11) NOT NULL COMMENT 'record id from the table this file is associated to',
3403
      CONSTRAINT transport_cost_ibfk_1 FOREIGN KEY (frombranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
3697
  `file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'file name',
3404
      CONSTRAINT transport_cost_ibfk_2 FOREIGN KEY (tobranch) REFERENCES branches (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
3698
  `file_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'MIME type of the file',
3699
  `file_description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'description given to the file',
3700
  `file_content` longblob NOT NULL COMMENT 'file content',
3701
  `date_uploaded` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'date and time the file was added',
3702
  PRIMARY KEY (`file_id`),
3703
  KEY `table_tag` (`table_tag`),
3704
  KEY `record_id` (`record_id`)
3405
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3705
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3706
/*!40101 SET character_set_client = @saved_cs_client */;
3406
3707
3407
--
3708
--
3408
-- Table structure for table `cover_images`
3709
-- Table structure for table `need_merge_authorities`
3409
--
3710
--
3410
3711
3411
DROP TABLE IF EXISTS `cover_images`;
3712
DROP TABLE IF EXISTS `need_merge_authorities`;
3412
3713
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3413
CREATE TABLE `cover_images` ( -- local cover images
3714
/*!40101 SET character_set_client = utf8 */;
3414
 `imagenumber` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique identifier for the image",
3715
CREATE TABLE `need_merge_authorities` (
3415
 `biblionumber` int(11) DEFAULT NULL COMMENT "foreign key from biblio table to link to biblionumber",
3716
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id',
3416
 `itemnumber` int(11) DEFAULT NULL COMMENT "foreign key from item table to link to itemnumber",
3717
  `authid` bigint(20) NOT NULL COMMENT 'reference to original authority record',
3417
 `mimetype` varchar(15) NOT NULL COMMENT "image type",
3718
  `authid_new` bigint(20) DEFAULT NULL COMMENT 'reference to optional new authority record',
3418
 `imagefile` mediumblob NOT NULL COMMENT "image file contents",
3719
  `reportxml` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'xml showing original reporting tag',
3419
 `thumbnail` mediumblob NOT NULL COMMENT "thumbnail file contents",
3720
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time last modified',
3420
 `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "image creation/update time",
3721
  `done` tinyint(4) DEFAULT 0,
3421
 PRIMARY KEY (`imagenumber`),
3722
  PRIMARY KEY (`id`)
3422
 CONSTRAINT `bibliocoverimage_fk1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3423
 CONSTRAINT `bibliocoverimage_fk2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
3424
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3723
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3724
/*!40101 SET character_set_client = @saved_cs_client */;
3425
3725
3426
--
3726
--
3427
-- Table structure for table `social_data`
3727
-- Table structure for table `oai_sets`
3428
--
3728
--
3429
3729
3430
DROP TABLE IF EXISTS `social_data`;
3730
DROP TABLE IF EXISTS `oai_sets`;
3431
CREATE TABLE IF NOT EXISTS `social_data` (
3731
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3432
  `isbn` VARCHAR(30) NOT NULL DEFAULT '',
3732
/*!40101 SET character_set_client = utf8 */;
3433
  `num_critics` INT,
3733
CREATE TABLE `oai_sets` (
3434
  `num_critics_pro` INT,
3734
  `id` int(11) NOT NULL AUTO_INCREMENT,
3435
  `num_quotations` INT,
3735
  `spec` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
3436
  `num_videos` INT,
3736
  `name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
3437
  `score_avg` DECIMAL(5,2),
3737
  PRIMARY KEY (`id`),
3438
  `num_scores` INT,
3738
  UNIQUE KEY `spec` (`spec`)
3439
  PRIMARY KEY  (`isbn`)
3440
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3739
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3740
/*!40101 SET character_set_client = @saved_cs_client */;
3441
3741
3442
--
3742
--
3443
-- 'Ratings' table. This tracks the star ratings set by borrowers.
3743
-- Table structure for table `oai_sets_biblios`
3444
--
3744
--
3445
3745
3446
DROP TABLE IF EXISTS ratings;
3746
DROP TABLE IF EXISTS `oai_sets_biblios`;
3447
CREATE TABLE ratings ( -- information related to the star ratings in the OPAC
3747
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3448
    borrowernumber int(11) NOT NULL COMMENT "the borrowernumber of the patron who left this rating (borrowers.borrowernumber)",
3748
/*!40101 SET character_set_client = utf8 */;
3449
    biblionumber int(11) NOT NULL COMMENT "the biblio this rating is for (biblio.biblionumber)",
3749
CREATE TABLE `oai_sets_biblios` (
3450
    rating_value tinyint(1) NOT NULL COMMENT "the rating, from 1 to 5",
3750
  `biblionumber` int(11) NOT NULL,
3451
    timestamp timestamp NOT NULL default CURRENT_TIMESTAMP,
3751
  `set_id` int(11) NOT NULL,
3452
    PRIMARY KEY  (borrowernumber,biblionumber),
3752
  PRIMARY KEY (`biblionumber`,`set_id`),
3453
    CONSTRAINT ratings_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
3753
  KEY `oai_sets_biblios_ibfk_2` (`set_id`),
3454
    CONSTRAINT ratings_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE
3754
  CONSTRAINT `oai_sets_biblios_ibfk_2` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3455
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3755
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3756
/*!40101 SET character_set_client = @saved_cs_client */;
3456
3757
3457
--
3758
--
3458
-- Table structure for table `quotes`
3759
-- Table structure for table `oai_sets_descriptions`
3459
--
3760
--
3460
3761
3461
DROP TABLE IF EXISTS quotes;
3762
DROP TABLE IF EXISTS `oai_sets_descriptions`;
3462
CREATE TABLE `quotes` ( -- data for the quote of the day feature
3763
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3463
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique id for the quote",
3764
/*!40101 SET character_set_client = utf8 */;
3464
  `source` MEDIUMTEXT DEFAULT NULL COMMENT "source/credit for the quote",
3765
CREATE TABLE `oai_sets_descriptions` (
3465
  `text` LONGTEXT NOT NULL COMMENT "text of the quote",
3766
  `set_id` int(11) NOT NULL,
3466
  `timestamp` datetime NULL COMMENT "date and time that the quote last appeared in the opac",
3767
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
3467
  PRIMARY KEY (`id`)
3768
  KEY `oai_sets_descriptions_ibfk_1` (`set_id`),
3769
  CONSTRAINT `oai_sets_descriptions_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3468
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3770
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3771
/*!40101 SET character_set_client = @saved_cs_client */;
3469
3772
3470
--
3773
--
3471
-- Table structure for table categories_branches
3774
-- Table structure for table `oai_sets_mappings`
3472
--
3775
--
3473
3776
3474
DROP TABLE IF EXISTS categories_branches;
3777
DROP TABLE IF EXISTS `oai_sets_mappings`;
3475
CREATE TABLE categories_branches( -- association table between categories and branches
3778
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3476
    categorycode VARCHAR(10),
3779
/*!40101 SET character_set_client = utf8 */;
3477
    branchcode VARCHAR(10),
3780
CREATE TABLE `oai_sets_mappings` (
3478
    FOREIGN KEY (categorycode) REFERENCES categories(categorycode) ON DELETE CASCADE,
3781
  `set_id` int(11) NOT NULL,
3479
    FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
3782
  `rule_order` int(11) DEFAULT NULL,
3783
  `rule_operator` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3784
  `marcfield` char(3) COLLATE utf8mb4_unicode_ci NOT NULL,
3785
  `marcsubfield` char(1) COLLATE utf8mb4_unicode_ci NOT NULL,
3786
  `operator` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'equal',
3787
  `marcvalue` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
3788
  KEY `oai_sets_mappings_ibfk_1` (`set_id`),
3789
  CONSTRAINT `oai_sets_mappings_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3480
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3790
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3791
/*!40101 SET character_set_client = @saved_cs_client */;
3481
3792
3482
--
3793
--
3483
-- Table structure for table authorised_values_branches
3794
-- Table structure for table `oauth_access_tokens`
3484
--
3795
--
3485
3796
3486
DROP TABLE IF EXISTS authorised_values_branches;
3797
DROP TABLE IF EXISTS `oauth_access_tokens`;
3487
CREATE TABLE authorised_values_branches( -- association table between authorised_values and branches
3798
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3488
    av_id INT(11) NOT NULL,
3799
/*!40101 SET character_set_client = utf8 */;
3489
    branchcode VARCHAR(10) NOT NULL,
3800
CREATE TABLE `oauth_access_tokens` (
3490
    FOREIGN KEY (av_id) REFERENCES authorised_values(id) ON DELETE CASCADE,
3801
  `access_token` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'generarated access token',
3491
    FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
3802
  `client_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the client id the access token belongs to',
3803
  `expires` int(11) NOT NULL COMMENT 'expiration time in seconds',
3804
  PRIMARY KEY (`access_token`)
3492
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3805
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3493
3806
/*!40101 SET character_set_client = @saved_cs_client */;
3494
3807
3495
--
3808
--
3496
-- Table structure for table borrower_attribute_types_branches
3809
-- Table structure for table `old_issues`
3497
--
3810
--
3498
3811
3499
DROP TABLE IF EXISTS borrower_attribute_types_branches;
3812
DROP TABLE IF EXISTS `old_issues`;
3500
CREATE TABLE borrower_attribute_types_branches( -- association table between borrower_attribute_types and branches
3813
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3501
    bat_code VARCHAR(10),
3814
/*!40101 SET character_set_client = utf8 */;
3502
    b_branchcode VARCHAR(10),
3815
CREATE TABLE `old_issues` (
3503
    FOREIGN KEY (bat_code) REFERENCES borrower_attribute_types(code) ON DELETE CASCADE,
3816
  `issue_id` int(11) NOT NULL COMMENT 'primary key for issues table',
3504
    FOREIGN KEY (b_branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
3817
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the patron this item was checked out to',
3818
  `issuer_id` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the user who checked out this item',
3819
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the items table for the item that was checked out',
3820
  `date_due` datetime DEFAULT NULL COMMENT 'date the item is due (yyyy-mm-dd)',
3821
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key, linking to the branches table for the location the item was checked out',
3822
  `returndate` datetime DEFAULT NULL COMMENT 'date the item was returned',
3823
  `lastreneweddate` datetime DEFAULT NULL COMMENT 'date the item was last renewed',
3824
  `renewals` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'lists the number of times the item was renewed',
3825
  `unseen_renewals` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'lists the number of consecutive times the item was renewed without being seen',
3826
  `auto_renew` tinyint(1) DEFAULT 0 COMMENT 'automatic renewal',
3827
  `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'automatic renewal error',
3828
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this record was last touched',
3829
  `issuedate` datetime DEFAULT NULL COMMENT 'date the item was checked out or issued',
3830
  `onsite_checkout` int(1) NOT NULL DEFAULT 0 COMMENT 'in house use flag',
3831
  `note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'issue note text',
3832
  `notedate` datetime DEFAULT NULL COMMENT 'datetime of issue note (yyyy-mm-dd hh:mm::ss)',
3833
  `noteseen` int(1) DEFAULT NULL COMMENT 'describes whether checkout note has been seen 1, not been seen 0 or doesn''t exist null',
3834
  PRIMARY KEY (`issue_id`),
3835
  KEY `old_issuesborridx` (`borrowernumber`),
3836
  KEY `old_issuesitemidx` (`itemnumber`),
3837
  KEY `branchcode_idx` (`branchcode`),
3838
  KEY `old_bordate` (`borrowernumber`,`timestamp`),
3839
  KEY `old_issues_ibfk_borrowers_borrowernumber` (`issuer_id`),
3840
  CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3841
  CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3842
  CONSTRAINT `old_issues_ibfk_borrowers_borrowernumber` FOREIGN KEY (`issuer_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
3505
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3843
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3844
/*!40101 SET character_set_client = @saved_cs_client */;
3506
3845
3507
--
3846
--
3508
-- Table structure for table `borrower_modifications`
3847
-- Table structure for table `old_reserves`
3509
--
3848
--
3510
3849
3511
CREATE TABLE IF NOT EXISTS `borrower_modifications` (
3850
DROP TABLE IF EXISTS `old_reserves`;
3512
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
3851
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3513
  `verification_token` varchar(255) NOT NULL DEFAULT '',
3852
/*!40101 SET character_set_client = utf8 */;
3514
  `changed_fields` MEDIUMTEXT DEFAULT NULL,
3853
CREATE TABLE `old_reserves` (
3515
  `borrowernumber` int(11) NOT NULL DEFAULT '0',
3854
  `reserve_id` int(11) NOT NULL COMMENT 'primary key',
3516
  `cardnumber` varchar(32) DEFAULT NULL,
3855
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key from the borrowers table defining which patron this hold is for',
3517
  `surname` LONGTEXT,
3856
  `reservedate` date DEFAULT NULL COMMENT 'the date the hold was places',
3518
  `firstname` MEDIUMTEXT,
3857
  `biblionumber` int(11) DEFAULT NULL COMMENT 'foreign key from the biblio table defining which bib record this hold is on',
3519
  `title` LONGTEXT,
3858
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table defining which branch the patron wishes to pick this hold up at',
3520
  `othernames` LONGTEXT,
3859
  `desk_id` int(11) DEFAULT NULL COMMENT 'foreign key from the desks table defining which desk the patron should pick this hold up at',
3521
  `initials` MEDIUMTEXT,
3860
  `notificationdate` date DEFAULT NULL COMMENT 'currently unused',
3522
  `streetnumber` varchar(10) DEFAULT NULL,
3861
  `reminderdate` date DEFAULT NULL COMMENT 'currently unused',
3523
  `streettype` varchar(50) DEFAULT NULL,
3862
  `cancellationdate` date DEFAULT NULL COMMENT 'the date this hold was cancelled',
3524
  `address` LONGTEXT,
3863
  `cancellation_reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value CANCELLATION_REASON',
3525
  `address2` MEDIUMTEXT,
3864
  `reservenotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to this hold',
3526
  `city` LONGTEXT,
3865
  `priority` smallint(6) NOT NULL DEFAULT 1 COMMENT 'where in the queue the patron sits',
3527
  `state` MEDIUMTEXT,
3866
  `found` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a one letter code defining what the status is of the hold is after it has been confirmed',
3528
  `zipcode` varchar(25) DEFAULT NULL,
3867
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this hold was last updated',
3529
  `country` MEDIUMTEXT,
3868
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key from the items table defining the specific item the patron has placed on hold or the item this hold was filled with',
3530
  `email` LONGTEXT,
3869
  `waitingdate` date DEFAULT NULL COMMENT 'the date the item was marked as waiting for the patron at the library',
3531
  `phone` MEDIUMTEXT,
3870
  `expirationdate` date DEFAULT NULL COMMENT 'the date the hold expires (usually the date entered by the patron to say they don''t need the hold after a certain date)',
3532
  `mobile` varchar(50) DEFAULT NULL,
3871
  `lowestPriority` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'has this hold been pinned to the lowest priority in the holds queue (1 for yes, 0 for no)',
3533
  `fax` LONGTEXT,
3872
  `suspend` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'in this hold suspended (1 for yes, 0 for no)',
3534
  `emailpro` MEDIUMTEXT,
3873
  `suspend_until` datetime DEFAULT NULL COMMENT 'the date this hold is suspended until (NULL for infinitely)',
3535
  `phonepro` MEDIUMTEXT,
3874
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'If record level hold, the optional itemtype of the item the patron is requesting',
3536
  `B_streetnumber` varchar(10) DEFAULT NULL,
3875
  `item_level_hold` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is the hpld placed at item level',
3537
  `B_streettype` varchar(50) DEFAULT NULL,
3876
  `non_priority` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is this a non priority hold',
3538
  `B_address` varchar(100) DEFAULT NULL,
3877
  PRIMARY KEY (`reserve_id`),
3539
  `B_address2` MEDIUMTEXT,
3878
  KEY `old_reserves_borrowernumber` (`borrowernumber`),
3540
  `B_city` LONGTEXT,
3879
  KEY `old_reserves_biblionumber` (`biblionumber`),
3541
  `B_state` MEDIUMTEXT,
3880
  KEY `old_reserves_itemnumber` (`itemnumber`),
3542
  `B_zipcode` varchar(25) DEFAULT NULL,
3881
  KEY `old_reserves_branchcode` (`branchcode`),
3543
  `B_country` MEDIUMTEXT,
3882
  KEY `old_reserves_itemtype` (`itemtype`),
3544
  `B_email` MEDIUMTEXT,
3883
  CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3545
  `B_phone` LONGTEXT,
3884
  CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3546
  `dateofbirth` date DEFAULT NULL,
3885
  CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL,
3547
  `branchcode` varchar(10) DEFAULT NULL,
3886
  CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE SET NULL ON UPDATE SET NULL
3548
  `categorycode` varchar(10) DEFAULT NULL,
3549
  `dateenrolled` date DEFAULT NULL,
3550
  `dateexpiry` date DEFAULT NULL,
3551
  `date_renewed` date default NULL,
3552
  `gonenoaddress` tinyint(1) DEFAULT NULL,
3553
  `lost` tinyint(1) DEFAULT NULL,
3554
  `debarred` date DEFAULT NULL,
3555
  `debarredcomment` varchar(255) DEFAULT NULL,
3556
  `contactname` LONGTEXT,
3557
  `contactfirstname` MEDIUMTEXT,
3558
  `contacttitle` MEDIUMTEXT,
3559
  `borrowernotes` LONGTEXT,
3560
  `relationship` varchar(100) DEFAULT NULL,
3561
  `sex` varchar(1) DEFAULT NULL,
3562
  `password` varchar(30) DEFAULT NULL,
3563
  `flags` int(11) DEFAULT NULL,
3564
  `userid` varchar(75) DEFAULT NULL,
3565
  `opacnote` LONGTEXT,
3566
  `contactnote` varchar(255) DEFAULT NULL,
3567
  `sort1` varchar(80) DEFAULT NULL,
3568
  `sort2` varchar(80) DEFAULT NULL,
3569
  `altcontactfirstname` varchar(255) DEFAULT NULL,
3570
  `altcontactsurname` varchar(255) DEFAULT NULL,
3571
  `altcontactaddress1` varchar(255) DEFAULT NULL,
3572
  `altcontactaddress2` varchar(255) DEFAULT NULL,
3573
  `altcontactaddress3` varchar(255) DEFAULT NULL,
3574
  `altcontactstate` MEDIUMTEXT,
3575
  `altcontactzipcode` varchar(50) DEFAULT NULL,
3576
  `altcontactcountry` MEDIUMTEXT,
3577
  `altcontactphone` varchar(50) DEFAULT NULL,
3578
  `smsalertnumber` varchar(50) DEFAULT NULL,
3579
  `privacy` int(11) DEFAULT NULL,
3580
  `extended_attributes` MEDIUMTEXT DEFAULT NULL,
3581
  `gdpr_proc_consent` datetime COMMENT "data processing consent",
3582
  PRIMARY KEY (`verification_token` (191),`borrowernumber`),
3583
  KEY `verification_token` (`verification_token` (191)),
3584
  KEY `borrowernumber` (`borrowernumber`)
3585
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3887
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3888
/*!40101 SET character_set_client = @saved_cs_client */;
3586
3889
3587
--
3890
--
3588
-- Table structure for table uploaded_files
3891
-- Table structure for table `opac_news`
3589
--
3892
--
3590
3893
3591
DROP TABLE IF EXISTS uploaded_files;
3894
DROP TABLE IF EXISTS `opac_news`;
3592
CREATE TABLE uploaded_files (
3895
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3593
    id int(11) NOT NULL AUTO_INCREMENT,
3896
/*!40101 SET character_set_client = utf8 */;
3594
    hashvalue CHAR(40) NOT NULL,
3897
CREATE TABLE `opac_news` (
3595
    filename MEDIUMTEXT NOT NULL,
3898
  `idnew` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for the news article',
3596
    dir MEDIUMTEXT NOT NULL,
3899
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'branch code users to create branch specific news, NULL is every branch.',
3597
    filesize int(11),
3900
  `title` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'title of the news article',
3598
    dtcreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
3901
  `content` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the body of your news article',
3599
    uploadcategorycode TEXT,
3902
  `lang` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'location for the article (koha is the staff interface, slip is the circulation receipt and language codes are for the opac)',
3600
    owner int(11),
3903
  `published_on` date DEFAULT NULL COMMENT 'publication date',
3601
    public tinyint,
3904
  `updated_on` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'last modification',
3602
    permanent tinyint,
3905
  `expirationdate` date DEFAULT NULL COMMENT 'date the article is set to expire or no longer be visible',
3603
    PRIMARY KEY (id)
3906
  `number` int(11) DEFAULT NULL COMMENT 'the order in which this article appears in that specific location',
3604
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3907
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'The user who created the news article',
3908
  PRIMARY KEY (`idnew`),
3909
  KEY `borrowernumber_fk` (`borrowernumber`),
3910
  KEY `opac_news_branchcode_ibfk` (`branchcode`),
3911
  CONSTRAINT `borrowernumber_fk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
3912
  CONSTRAINT `opac_news_branchcode_ibfk` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
3913
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3914
/*!40101 SET character_set_client = @saved_cs_client */;
3605
3915
3606
--
3916
--
3607
-- Table structure for table linktracker
3917
-- Table structure for table `overduerules`
3608
-- This stores clicks to external links
3609
--
3918
--
3610
3919
3611
DROP TABLE IF EXISTS linktracker;
3920
DROP TABLE IF EXISTS `overduerules`;
3612
CREATE TABLE linktracker (
3921
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3613
   id int(11) NOT NULL AUTO_INCREMENT COMMENT "primary key identifier",
3922
/*!40101 SET character_set_client = utf8 */;
3614
   biblionumber int(11) DEFAULT NULL COMMENT "biblionumber of the record the link is from",
3923
CREATE TABLE `overduerules` (
3615
   itemnumber int(11) DEFAULT NULL COMMENT "itemnumber if applicable that the link was from",
3924
  `overduerules_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for the overduerules',
3616
   borrowernumber int(11) DEFAULT NULL COMMENT "borrowernumber who clicked the link",
3925
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the branches table to define which branch this rule is for (if blank it''s all libraries)',
3617
   url MEDIUMTEXT COMMENT "the link itself",
3926
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'foreign key from the categories table to define which patron category this rule is for',
3618
   timeclicked datetime DEFAULT NULL COMMENT "the date and time the link was clicked",
3927
  `delay1` int(4) DEFAULT NULL COMMENT 'number of days after the item is overdue that the first notice is sent',
3619
   PRIMARY KEY (id),
3928
  `letter1` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the letter table to define which notice should be sent as the first notice',
3620
   KEY bibidx (biblionumber),
3929
  `debarred1` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT 'is the patron restricted when the first notice is sent (1 for yes, 0 for no)',
3621
   KEY itemidx (itemnumber),
3930
  `delay2` int(4) DEFAULT NULL COMMENT 'number of days after the item is overdue that the second notice is sent',
3622
   KEY borridx (borrowernumber),
3931
  `debarred2` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT 'is the patron restricted when the second notice is sent (1 for yes, 0 for no)',
3623
   KEY dateidx (timeclicked)
3932
  `letter2` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the letter table to define which notice should be sent as the second notice',
3933
  `delay3` int(4) DEFAULT NULL COMMENT 'number of days after the item is overdue that the third notice is sent',
3934
  `letter3` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the letter table to define which notice should be sent as the third notice',
3935
  `debarred3` int(1) DEFAULT 0 COMMENT 'is the patron restricted when the third notice is sent (1 for yes, 0 for no)',
3936
  PRIMARY KEY (`overduerules_id`),
3937
  UNIQUE KEY `overduerules_branch_cat` (`branchcode`,`categorycode`)
3624
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3938
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3939
/*!40101 SET character_set_client = @saved_cs_client */;
3625
3940
3626
--
3941
--
3627
-- Table structure for table 'plugin_data'
3942
-- Table structure for table `overduerules_transport_types`
3628
--
3943
--
3629
3944
3630
CREATE TABLE IF NOT EXISTS plugin_data (
3945
DROP TABLE IF EXISTS `overduerules_transport_types`;
3631
  plugin_class varchar(255) NOT NULL,
3946
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3632
  plugin_key varchar(255) NOT NULL,
3947
/*!40101 SET character_set_client = utf8 */;
3633
  plugin_value MEDIUMTEXT,
3948
CREATE TABLE `overduerules_transport_types` (
3634
  PRIMARY KEY ( `plugin_class` (191), `plugin_key` (191) )
3949
  `id` int(11) NOT NULL AUTO_INCREMENT,
3950
  `letternumber` int(1) NOT NULL DEFAULT 1,
3951
  `message_transport_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'email',
3952
  `overduerules_id` int(11) NOT NULL,
3953
  PRIMARY KEY (`id`),
3954
  KEY `overduerules_fk` (`overduerules_id`),
3955
  KEY `mtt_fk` (`message_transport_type`),
3956
  CONSTRAINT `mtt_fk` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE,
3957
  CONSTRAINT `overduerules_fk` FOREIGN KEY (`overduerules_id`) REFERENCES `overduerules` (`overduerules_id`) ON DELETE CASCADE ON UPDATE CASCADE
3635
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3958
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3959
/*!40101 SET character_set_client = @saved_cs_client */;
3636
3960
3637
--
3961
--
3638
-- Table structure for table patron_consent
3962
-- Table structure for table `patron_consent`
3639
--
3963
--
3640
3964
3641
DROP TABLE IF EXISTS patron_consent;
3965
DROP TABLE IF EXISTS `patron_consent`;
3642
CREATE TABLE patron_consent (
3966
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3643
  id int AUTO_INCREMENT,
3967
/*!40101 SET character_set_client = utf8 */;
3644
  borrowernumber int NOT NULL,
3968
CREATE TABLE `patron_consent` (
3645
  type enum('GDPR_PROCESSING' ) COMMENT "allows for future extension",
3969
  `id` int(11) NOT NULL AUTO_INCREMENT,
3646
  given_on datetime,
3970
  `borrowernumber` int(11) NOT NULL,
3647
  refused_on datetime,
3971
  `type` enum('GDPR_PROCESSING') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'allows for future extension',
3648
  PRIMARY KEY (id),
3972
  `given_on` datetime DEFAULT NULL,
3649
  FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE
3973
  `refused_on` datetime DEFAULT NULL,
3974
  PRIMARY KEY (`id`),
3975
  KEY `borrowernumber` (`borrowernumber`),
3976
  CONSTRAINT `patron_consent_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
3650
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3977
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3978
/*!40101 SET character_set_client = @saved_cs_client */;
3651
3979
3652
--
3980
--
3653
-- Table structure for table 'plugin_methods'
3981
-- Table structure for table `patron_list_patrons`
3654
--
3982
--
3655
3983
3656
DROP TABLE IF EXISTS plugin_methods;
3984
DROP TABLE IF EXISTS `patron_list_patrons`;
3657
CREATE TABLE plugin_methods (
3985
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3658
  plugin_class varchar(255) NOT NULL,
3986
/*!40101 SET character_set_client = utf8 */;
3659
  plugin_method varchar(255) NOT NULL,
3987
CREATE TABLE `patron_list_patrons` (
3660
  PRIMARY KEY ( `plugin_class` (191), `plugin_method` (191) )
3988
  `patron_list_patron_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier',
3989
  `patron_list_id` int(11) NOT NULL COMMENT 'the list this entry is part of',
3990
  `borrowernumber` int(11) NOT NULL COMMENT 'the borrower that is part of this list',
3991
  PRIMARY KEY (`patron_list_patron_id`),
3992
  KEY `patron_list_id` (`patron_list_id`),
3993
  KEY `borrowernumber` (`borrowernumber`),
3994
  CONSTRAINT `patron_list_patrons_ibfk_1` FOREIGN KEY (`patron_list_id`) REFERENCES `patron_lists` (`patron_list_id`) ON DELETE CASCADE ON UPDATE CASCADE,
3995
  CONSTRAINT `patron_list_patrons_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
3661
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3996
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3997
/*!40101 SET character_set_client = @saved_cs_client */;
3662
3998
3663
--
3999
--
3664
-- Table structure for table `patron_lists`
4000
-- Table structure for table `patron_lists`
3665
--
4001
--
3666
4002
3667
DROP TABLE IF EXISTS patron_lists;
4003
DROP TABLE IF EXISTS `patron_lists`;
3668
CREATE TABLE patron_lists (
4004
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3669
  patron_list_id int(11) NOT NULL AUTO_INCREMENT COMMENT "unique identifier",
4005
/*!40101 SET character_set_client = utf8 */;
3670
  name varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT "the list's name",
4006
CREATE TABLE `patron_lists` (
3671
  owner int(11) NOT NULL COMMENT "borrowernumber of the list creator",
4007
  `patron_list_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier',
3672
  shared tinyint(1) default 0,
4008
  `name` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT 'the list''s name',
3673
  PRIMARY KEY (patron_list_id),
4009
  `owner` int(11) NOT NULL COMMENT 'borrowernumber of the list creator',
3674
  KEY owner (owner)
4010
  `shared` tinyint(1) DEFAULT 0,
4011
  PRIMARY KEY (`patron_list_id`),
4012
  KEY `owner` (`owner`),
4013
  CONSTRAINT `patron_lists_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
3675
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4014
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4015
/*!40101 SET character_set_client = @saved_cs_client */;
3676
4016
3677
--
4017
--
3678
-- Constraints for table `patron_lists`
4018
-- Table structure for table `patronimage`
3679
--
4019
--
3680
ALTER TABLE `patron_lists`
4020
3681
  ADD CONSTRAINT patron_lists_ibfk_1 FOREIGN KEY (`owner`) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE;
4021
DROP TABLE IF EXISTS `patronimage`;
4022
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4023
/*!40101 SET character_set_client = utf8 */;
4024
CREATE TABLE `patronimage` (
4025
  `borrowernumber` int(11) NOT NULL COMMENT 'the borrowernumber of the patron this image is attached to (borrowers.borrowernumber)',
4026
  `mimetype` varchar(15) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the format of the image (png, jpg, etc)',
4027
  `imagefile` mediumblob NOT NULL COMMENT 'the image',
4028
  PRIMARY KEY (`borrowernumber`),
4029
  CONSTRAINT `patronimage_fk1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
4030
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4031
/*!40101 SET character_set_client = @saved_cs_client */;
3682
4032
3683
--
4033
--
3684
-- Table structure for table 'patron_list_patrons'
4034
-- Table structure for table `pending_offline_operations`
3685
--
4035
--
3686
4036
3687
DROP TABLE IF EXISTS patron_list_patrons;
4037
DROP TABLE IF EXISTS `pending_offline_operations`;
3688
CREATE TABLE patron_list_patrons (
4038
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3689
  patron_list_patron_id int(11) NOT NULL AUTO_INCREMENT COMMENT "unique identifier",
4039
/*!40101 SET character_set_client = utf8 */;
3690
  patron_list_id int(11) NOT NULL COMMENT "the list this entry is part of",
4040
CREATE TABLE `pending_offline_operations` (
3691
  borrowernumber int(11) NOT NULL COMMENT "the borrower that is part of this list",
4041
  `operationid` int(11) NOT NULL AUTO_INCREMENT,
3692
  PRIMARY KEY (patron_list_patron_id),
4042
  `userid` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
3693
  KEY patron_list_id (patron_list_id),
4043
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
3694
  KEY borrowernumber (borrowernumber)
4044
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp(),
3695
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4045
  `action` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
4046
  `barcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4047
  `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4048
  `amount` decimal(28,6) DEFAULT NULL,
4049
  PRIMARY KEY (`operationid`)
4050
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4051
/*!40101 SET character_set_client = @saved_cs_client */;
3696
4052
3697
--
4053
--
3698
-- Constraints for table `patron_list_patrons`
4054
-- Table structure for table `permissions`
3699
--
4055
--
3700
ALTER TABLE `patron_list_patrons`
4056
3701
  ADD CONSTRAINT patron_list_patrons_ibfk_1 FOREIGN KEY (patron_list_id) REFERENCES patron_lists (patron_list_id) ON DELETE CASCADE ON UPDATE CASCADE,
4057
DROP TABLE IF EXISTS `permissions`;
3702
  ADD CONSTRAINT patron_list_patrons_ibfk_2 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE;
4058
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4059
/*!40101 SET character_set_client = utf8 */;
4060
CREATE TABLE `permissions` (
4061
  `module_bit` int(11) NOT NULL DEFAULT 0,
4062
  `code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4063
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4064
  PRIMARY KEY (`module_bit`,`code`),
4065
  CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`) ON DELETE CASCADE ON UPDATE CASCADE
4066
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4067
/*!40101 SET character_set_client = @saved_cs_client */;
3703
4068
3704
--
4069
--
3705
-- Table structure for table 'marc_modification_templates'
4070
-- Table structure for table `plugin_data`
3706
--
4071
--
3707
4072
3708
CREATE TABLE IF NOT EXISTS marc_modification_templates (
4073
DROP TABLE IF EXISTS `plugin_data`;
3709
    template_id int(11) NOT NULL AUTO_INCREMENT,
4074
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3710
    name MEDIUMTEXT NOT NULL,
4075
/*!40101 SET character_set_client = utf8 */;
3711
    PRIMARY KEY (template_id)
4076
CREATE TABLE `plugin_data` (
3712
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4077
  `plugin_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4078
  `plugin_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4079
  `plugin_value` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4080
  PRIMARY KEY (`plugin_class`(191),`plugin_key`(191))
4081
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4082
/*!40101 SET character_set_client = @saved_cs_client */;
3713
4083
3714
--
4084
--
3715
-- Table structure for table 'marc_modification_template_actions'
4085
-- Table structure for table `plugin_methods`
3716
--
4086
--
3717
4087
3718
CREATE TABLE IF NOT EXISTS marc_modification_template_actions (
4088
DROP TABLE IF EXISTS `plugin_methods`;
3719
  mmta_id int(11) NOT NULL AUTO_INCREMENT,
4089
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3720
  template_id int(11) NOT NULL,
4090
/*!40101 SET character_set_client = utf8 */;
3721
  ordering int(3) NOT NULL,
4091
CREATE TABLE `plugin_methods` (
3722
  action ENUM('delete_field','add_field','update_field','move_field','copy_field','copy_and_replace_field') NOT NULL,
4092
  `plugin_class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
3723
  field_number smallint(6) NOT NULL DEFAULT '0',
4093
  `plugin_method` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
3724
  from_field varchar(3) NOT NULL,
4094
  PRIMARY KEY (`plugin_class`(191),`plugin_method`(191))
3725
  from_subfield varchar(1) DEFAULT NULL,
4095
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3726
  field_value varchar(100) DEFAULT NULL,
4096
/*!40101 SET character_set_client = @saved_cs_client */;
3727
  to_field varchar(3) DEFAULT NULL,
3728
  to_subfield varchar(1) DEFAULT NULL,
3729
  to_regex_search MEDIUMTEXT,
3730
  to_regex_replace MEDIUMTEXT,
3731
  to_regex_modifiers varchar(8) DEFAULT '',
3732
  conditional enum('if','unless') DEFAULT NULL,
3733
  conditional_field varchar(3) DEFAULT NULL,
3734
  conditional_subfield varchar(1) DEFAULT NULL,
3735
  conditional_comparison enum('exists','not_exists','equals','not_equals') DEFAULT NULL,
3736
  conditional_value MEDIUMTEXT,
3737
  conditional_regex tinyint(1) NOT NULL DEFAULT '0',
3738
  description MEDIUMTEXT,
3739
  PRIMARY KEY (mmta_id),
3740
  CONSTRAINT `mmta_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `marc_modification_templates` (`template_id`) ON DELETE CASCADE ON UPDATE CASCADE
3741
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3742
4097
3743
--
4098
--
3744
-- Table structure for table `misc_files`
4099
-- Table structure for table `printers_profile`
3745
--
4100
--
3746
4101
3747
CREATE TABLE IF NOT EXISTS `misc_files` ( -- miscellaneous files attached to records from various tables
4102
DROP TABLE IF EXISTS `printers_profile`;
3748
  `file_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique id for the file record",
4103
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3749
  `table_tag` varchar(255) NOT NULL COMMENT "usually table name, or arbitrary unique tag",
4104
/*!40101 SET character_set_client = utf8 */;
3750
  `record_id` int(11) NOT NULL COMMENT "record id from the table this file is associated to",
4105
CREATE TABLE `printers_profile` (
3751
  `file_name` varchar(255) NOT NULL COMMENT "file name",
4106
  `profile_id` int(4) NOT NULL AUTO_INCREMENT,
3752
  `file_type` varchar(255) NOT NULL COMMENT "MIME type of the file",
4107
  `printer_name` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Default Printer',
3753
  `file_description` varchar(255) DEFAULT NULL COMMENT "description given to the file",
4108
  `template_id` int(4) NOT NULL DEFAULT 0,
3754
  `file_content` longblob NOT NULL COMMENT "file content",
4109
  `paper_bin` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Bypass',
3755
  `date_uploaded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "date and time the file was added",
4110
  `offset_horz` float NOT NULL DEFAULT 0,
3756
  PRIMARY KEY (`file_id`),
4111
  `offset_vert` float NOT NULL DEFAULT 0,
3757
  KEY `table_tag` (`table_tag`),
4112
  `creep_horz` float NOT NULL DEFAULT 0,
3758
  KEY `record_id` (`record_id`)
4113
  `creep_vert` float NOT NULL DEFAULT 0,
3759
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4114
  `units` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'POINT',
4115
  `creator` char(15) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Labels',
4116
  PRIMARY KEY (`profile_id`),
4117
  UNIQUE KEY `printername` (`printer_name`,`template_id`,`paper_bin`,`creator`)
4118
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4119
/*!40101 SET character_set_client = @saved_cs_client */;
3760
4120
3761
--
4121
--
3762
-- Table structure for table `columns_settings`
4122
-- Table structure for table `problem_reports`
3763
--
4123
--
3764
4124
3765
CREATE TABLE IF NOT EXISTS columns_settings (
4125
DROP TABLE IF EXISTS `problem_reports`;
3766
    module varchar(255) NOT NULL,
4126
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3767
    page varchar(255) NOT NULL,
4127
/*!40101 SET character_set_client = utf8 */;
3768
    tablename varchar(255) NOT NULL,
4128
CREATE TABLE `problem_reports` (
3769
    columnname varchar(255) NOT NULL,
4129
  `reportid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
3770
    cannot_be_toggled int(1) NOT NULL DEFAULT 0,
4130
  `title` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'report subject line',
3771
    is_hidden int(1) NOT NULL DEFAULT 0,
4131
  `content` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'report message content',
3772
    PRIMARY KEY(module (191), page (191), tablename (191), columnname (191))
4132
  `borrowernumber` int(11) NOT NULL DEFAULT 0 COMMENT 'the user who created the problem report',
4133
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'borrower''s branch',
4134
  `username` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'OPAC username',
4135
  `problempage` text COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'page the user triggered the problem report form from',
4136
  `recipient` enum('admin','library') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'library' COMMENT 'the ''to-address'' of the problem report',
4137
  `created_on` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'timestamp of report submission',
4138
  `status` varchar(6) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'New' COMMENT 'status of the report. New, Viewed, Closed',
4139
  PRIMARY KEY (`reportid`),
4140
  KEY `problem_reports_ibfk1` (`borrowernumber`),
4141
  KEY `problem_reports_ibfk2` (`branchcode`),
4142
  CONSTRAINT `problem_reports_ibfk1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4143
  CONSTRAINT `problem_reports_ibfk2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4144
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4145
/*!40101 SET character_set_client = @saved_cs_client */;
4146
4147
--
4148
-- Table structure for table `pseudonymized_borrower_attributes`
4149
--
4150
4151
DROP TABLE IF EXISTS `pseudonymized_borrower_attributes`;
4152
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4153
/*!40101 SET character_set_client = utf8 */;
4154
CREATE TABLE `pseudonymized_borrower_attributes` (
4155
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Row id field',
4156
  `transaction_id` int(11) NOT NULL,
4157
  `code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'foreign key from the borrower_attribute_types table, defines which custom field this value was entered for',
4158
  `attribute` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'custom patron field value',
4159
  PRIMARY KEY (`id`),
4160
  KEY `pseudonymized_borrower_attributes_ibfk_1` (`transaction_id`),
4161
  KEY `anonymized_borrower_attributes_ibfk_2` (`code`),
4162
  CONSTRAINT `anonymized_borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE,
4163
  CONSTRAINT `pseudonymized_borrower_attributes_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pseudonymized_transactions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3773
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4164
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4165
/*!40101 SET character_set_client = @saved_cs_client */;
3774
4166
3775
--
4167
--
3776
-- Table structure for table `tables_settings`
4168
-- Table structure for table `pseudonymized_transactions`
3777
--
4169
--
3778
4170
3779
CREATE TABLE IF NOT EXISTS tables_settings (
4171
DROP TABLE IF EXISTS `pseudonymized_transactions`;
3780
    module varchar(255) NOT NULL,
4172
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3781
    page varchar(255) NOT NULL,
4173
/*!40101 SET character_set_client = utf8 */;
3782
    tablename varchar(255) NOT NULL,
4174
CREATE TABLE `pseudonymized_transactions` (
3783
    default_display_length smallint(6) NOT NULL DEFAULT 20 ,
4175
  `id` int(11) NOT NULL AUTO_INCREMENT,
3784
    default_sort_order varchar(255),
4176
  `hashed_borrowernumber` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
3785
    PRIMARY KEY(module (191), page (191), tablename (191) )
4177
  `has_cardnumber` tinyint(1) NOT NULL DEFAULT 0,
4178
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4179
  `city` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4180
  `state` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4181
  `zipcode` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4182
  `country` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4183
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4184
  `categorycode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4185
  `dateenrolled` date DEFAULT NULL,
4186
  `sex` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4187
  `sort1` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4188
  `sort2` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4189
  `datetime` datetime DEFAULT NULL,
4190
  `transaction_branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4191
  `transaction_type` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4192
  `itemnumber` int(11) DEFAULT NULL,
4193
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4194
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4195
  `homebranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4196
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4197
  `itemcallnumber` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4198
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4199
  PRIMARY KEY (`id`),
4200
  KEY `pseudonymized_transactions_ibfk_1` (`categorycode`),
4201
  KEY `pseudonymized_transactions_borrowers_ibfk_2` (`branchcode`),
4202
  KEY `pseudonymized_transactions_borrowers_ibfk_3` (`transaction_branchcode`),
4203
  CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`),
4204
  CONSTRAINT `pseudonymized_transactions_borrowers_ibfk_3` FOREIGN KEY (`transaction_branchcode`) REFERENCES `branches` (`branchcode`),
4205
  CONSTRAINT `pseudonymized_transactions_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
3786
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4206
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4207
/*!40101 SET character_set_client = @saved_cs_client */;
3787
4208
3788
--
4209
--
3789
-- Table structure for table 'items_search_fields'
4210
-- Table structure for table `quotes`
3790
--
4211
--
3791
4212
3792
DROP TABLE IF EXISTS items_search_fields;
4213
DROP TABLE IF EXISTS `quotes`;
3793
CREATE TABLE items_search_fields (
4214
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3794
  name VARCHAR(255) NOT NULL,
4215
/*!40101 SET character_set_client = utf8 */;
3795
  label VARCHAR(255) NOT NULL,
4216
CREATE TABLE `quotes` (
3796
  tagfield CHAR(3) NOT NULL,
4217
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id for the quote',
3797
  tagsubfield CHAR(1) NULL DEFAULT NULL,
4218
  `source` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'source/credit for the quote',
3798
  authorised_values_category VARCHAR(32) NULL DEFAULT NULL,
4219
  `text` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'text of the quote',
3799
  PRIMARY KEY(name (191)),
4220
  `timestamp` datetime DEFAULT NULL COMMENT 'date and time that the quote last appeared in the opac',
3800
  CONSTRAINT items_search_fields_authorised_values_category
4221
  PRIMARY KEY (`id`)
3801
    FOREIGN KEY (authorised_values_category) REFERENCES authorised_value_categories (category_name)
4222
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3802
    ON DELETE SET NULL ON UPDATE CASCADE
4223
/*!40101 SET character_set_client = @saved_cs_client */;
3803
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3804
4224
3805
--
4225
--
3806
-- Table structure for table 'discharges'
4226
-- Table structure for table `ratings`
3807
--
4227
--
3808
4228
3809
DROP TABLE IF EXISTS discharges;
4229
DROP TABLE IF EXISTS `ratings`;
3810
CREATE TABLE discharges (
4230
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3811
  discharge_id int(11) NOT NULL AUTO_INCREMENT,
4231
/*!40101 SET character_set_client = utf8 */;
3812
  borrower int(11) DEFAULT NULL,
4232
CREATE TABLE `ratings` (
3813
  needed timestamp NULL DEFAULT NULL,
4233
  `borrowernumber` int(11) NOT NULL COMMENT 'the borrowernumber of the patron who left this rating (borrowers.borrowernumber)',
3814
  validated timestamp NULL DEFAULT NULL,
4234
  `biblionumber` int(11) NOT NULL COMMENT 'the biblio this rating is for (biblio.biblionumber)',
3815
  PRIMARY KEY (discharge_id),
4235
  `rating_value` tinyint(1) NOT NULL COMMENT 'the rating, from 1 to 5',
3816
  KEY borrower_discharges_ibfk1 (borrower),
4236
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp(),
3817
  CONSTRAINT borrower_discharges_ibfk1 FOREIGN KEY (borrower) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE
4237
  PRIMARY KEY (`borrowernumber`,`biblionumber`),
4238
  KEY `ratings_ibfk_2` (`biblionumber`),
4239
  CONSTRAINT `ratings_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4240
  CONSTRAINT `ratings_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
3818
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4241
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4242
/*!40101 SET character_set_client = @saved_cs_client */;
3819
4243
3820
--
4244
--
3821
-- Table structure for table additional_fields
4245
-- Table structure for table `repeatable_holidays`
3822
-- This table add the ability to add new fields for a record
3823
--
4246
--
3824
4247
3825
DROP TABLE IF EXISTS additional_fields;
4248
DROP TABLE IF EXISTS `repeatable_holidays`;
3826
CREATE TABLE `additional_fields` (
4249
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3827
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT "primary key identifier",
4250
/*!40101 SET character_set_client = utf8 */;
3828
  `tablename` varchar(255) NOT NULL DEFAULT '' COMMENT "tablename of the new field",
4251
CREATE TABLE `repeatable_holidays` (
3829
  `name` varchar(255) NOT NULL DEFAULT '' COMMENT "name of the field",
4252
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
3830
  `authorised_value_category` varchar(16) NOT NULL DEFAULT '' COMMENT "is an authorised value category",
4253
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'foreign key from the branches table, defines which branch this closing is for',
3831
  `marcfield` varchar(16) NOT NULL DEFAULT '' COMMENT "contains the marc field to copied into the record",
4254
  `weekday` smallint(6) DEFAULT NULL COMMENT 'day of the week (0=Sunday, 1=Monday, etc) this closing is repeated on',
3832
  `searchable` tinyint(1) NOT NULL DEFAULT '0' COMMENT "is the field searchable?",
4255
  `day` smallint(6) DEFAULT NULL COMMENT 'day of the month this closing is on',
4256
  `month` smallint(6) DEFAULT NULL COMMENT 'month this closing is in',
4257
  `title` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'title of this closing',
4258
  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'description for this closing',
3833
  PRIMARY KEY (`id`),
4259
  PRIMARY KEY (`id`),
3834
  UNIQUE KEY `fields_uniq` (`tablename` (191),`name` (191))
4260
  KEY `repeatable_holidays_ibfk_1` (`branchcode`),
3835
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4261
  CONSTRAINT `repeatable_holidays_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4262
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4263
/*!40101 SET character_set_client = @saved_cs_client */;
3836
4264
3837
--
4265
--
3838
-- Table structure for table additional_field_values
4266
-- Table structure for table `reports_dictionary`
3839
-- This table store values for additional fields
3840
--
4267
--
3841
4268
3842
DROP TABLE IF EXISTS additional_field_values;
4269
DROP TABLE IF EXISTS `reports_dictionary`;
3843
CREATE TABLE `additional_field_values` (
4270
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3844
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT "primary key identifier",
4271
/*!40101 SET character_set_client = utf8 */;
3845
  `field_id` int(11) NOT NULL COMMENT "foreign key references additional_fields(id)",
4272
CREATE TABLE `reports_dictionary` (
3846
  `record_id` int(11) NOT NULL COMMENT "record_id",
4273
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
3847
  `value` varchar(255) NOT NULL DEFAULT '' COMMENT "value for this field",
4274
  `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name for this definition',
4275
  `description` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'description for this definition',
4276
  `date_created` datetime DEFAULT NULL COMMENT 'date and time this definition was created',
4277
  `date_modified` datetime DEFAULT NULL COMMENT 'date and time this definition was last modified',
4278
  `saved_sql` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SQL snippet for us in reports',
4279
  `report_area` varchar(6) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Koha module this definition is for Circulation, Catalog, Patrons, Acquistions, Accounts)',
3848
  PRIMARY KEY (`id`),
4280
  PRIMARY KEY (`id`),
3849
  UNIQUE KEY `field_record` (`field_id`,`record_id`),
4281
  KEY `dictionary_area_idx` (`report_area`)
3850
  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
3851
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4282
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4283
/*!40101 SET character_set_client = @saved_cs_client */;
3852
4284
3853
--
4285
--
3854
-- Table structure for table 'localization'
4286
-- Table structure for table `reserves`
3855
--
4287
--
3856
4288
3857
DROP TABLE IF EXISTS localization;
4289
DROP TABLE IF EXISTS `reserves`;
3858
CREATE TABLE `localization` (
4290
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3859
      localization_id int(11) NOT NULL AUTO_INCREMENT,
4291
/*!40101 SET character_set_client = utf8 */;
3860
      entity varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
4292
CREATE TABLE `reserves` (
3861
      code varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
4293
  `reserve_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key',
3862
      lang varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "could be a foreign key",
4294
  `borrowernumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the borrowers table defining which patron this hold is for',
3863
      translation MEDIUMTEXT COLLATE utf8mb4_unicode_ci,
4295
  `reservedate` date DEFAULT NULL COMMENT 'the date the hold was placed',
3864
      PRIMARY KEY (localization_id),
4296
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key from the biblio table defining which bib record this hold is on',
3865
      UNIQUE KEY `entity_code_lang` (`entity`,`code`,`lang`)
4297
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the branches table defining which branch the patron wishes to pick this hold up at',
4298
  `desk_id` int(11) DEFAULT NULL COMMENT 'foreign key from the desks table defining which desk the patron should pick this hold up at',
4299
  `notificationdate` date DEFAULT NULL COMMENT 'currently unused',
4300
  `reminderdate` date DEFAULT NULL COMMENT 'currently unused',
4301
  `cancellationdate` date DEFAULT NULL COMMENT 'the date this hold was cancelled',
4302
  `cancellation_reason` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'optional authorised value CANCELLATION_REASON',
4303
  `reservenotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes related to this hold',
4304
  `priority` smallint(6) NOT NULL DEFAULT 1 COMMENT 'where in the queue the patron sits',
4305
  `found` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'a one letter code defining what the status is of the hold is after it has been confirmed',
4306
  `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'the date and time this hold was last updated',
4307
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key from the items table defining the specific item the patron has placed on hold or the item this hold was filled with',
4308
  `waitingdate` date DEFAULT NULL COMMENT 'the date the item was marked as waiting for the patron at the library',
4309
  `expirationdate` date DEFAULT NULL COMMENT 'the date the hold expires (usually the date entered by the patron to say they don''t need the hold after a certain date)',
4310
  `lowestPriority` tinyint(1) NOT NULL DEFAULT 0,
4311
  `suspend` tinyint(1) NOT NULL DEFAULT 0,
4312
  `suspend_until` datetime DEFAULT NULL,
4313
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'If record level hold, the optional itemtype of the item the patron is requesting',
4314
  `item_level_hold` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is the hpld placed at item level',
4315
  `non_priority` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is this a non priority hold',
4316
  PRIMARY KEY (`reserve_id`),
4317
  KEY `priorityfoundidx` (`priority`,`found`),
4318
  KEY `borrowernumber` (`borrowernumber`),
4319
  KEY `biblionumber` (`biblionumber`),
4320
  KEY `itemnumber` (`itemnumber`),
4321
  KEY `branchcode` (`branchcode`),
4322
  KEY `desk_id` (`desk_id`),
4323
  KEY `itemtype` (`itemtype`),
4324
  CONSTRAINT `reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4325
  CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4326
  CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4327
  CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
4328
  CONSTRAINT `reserves_ibfk_5` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE,
4329
  CONSTRAINT `reserves_ibfk_6` FOREIGN KEY (`desk_id`) REFERENCES `desks` (`desk_id`) ON DELETE SET NULL ON UPDATE CASCADE
3866
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4330
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4331
/*!40101 SET character_set_client = @saved_cs_client */;
3867
4332
3868
--
4333
--
3869
-- Table structure for table 'audio_alerts'
4334
-- Table structure for table `return_claims`
3870
--
4335
--
3871
4336
3872
DROP TABLE IF EXISTS audio_alerts;
4337
DROP TABLE IF EXISTS `return_claims`;
3873
CREATE TABLE audio_alerts (
4338
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3874
  id int(11) NOT NULL AUTO_INCREMENT,
4339
/*!40101 SET character_set_client = utf8 */;
3875
  precedence smallint(5) unsigned NOT NULL,
4340
CREATE TABLE `return_claims` (
3876
  selector varchar(255) NOT NULL,
4341
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique ID of the return claim',
3877
  sound varchar(255) NOT NULL,
4342
  `itemnumber` int(11) NOT NULL COMMENT 'ID of the item',
3878
  PRIMARY KEY (id),
4343
  `issue_id` int(11) DEFAULT NULL COMMENT 'ID of the checkout that triggered the claim',
3879
  KEY precedence (precedence)
4344
  `borrowernumber` int(11) NOT NULL COMMENT 'ID of the patron',
4345
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Notes about the claim',
4346
  `created_on` timestamp NULL DEFAULT NULL COMMENT 'Time and date the claim was created',
4347
  `created_by` int(11) DEFAULT NULL COMMENT 'ID of the staff member that registered the claim',
4348
  `updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT 'Time and date of the latest change on the claim (notes)',
4349
  `updated_by` int(11) DEFAULT NULL COMMENT 'ID of the staff member that updated the claim',
4350
  `resolution` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Resolution code (RETURN_CLAIM_RESOLUTION AVs)',
4351
  `resolved_on` timestamp NULL DEFAULT NULL COMMENT 'Time and date the claim was resolved',
4352
  `resolved_by` int(11) DEFAULT NULL COMMENT 'ID of the staff member that resolved the claim',
4353
  PRIMARY KEY (`id`),
4354
  UNIQUE KEY `issue_id` (`issue_id`),
4355
  KEY `itemnumber` (`itemnumber`),
4356
  KEY `rc_borrowers_ibfk` (`borrowernumber`),
4357
  KEY `rc_created_by_ibfk` (`created_by`),
4358
  KEY `rc_updated_by_ibfk` (`updated_by`),
4359
  KEY `rc_resolved_by_ibfk` (`resolved_by`),
4360
  CONSTRAINT `issue_id` FOREIGN KEY (`issue_id`) REFERENCES `issues` (`issue_id`) ON DELETE SET NULL ON UPDATE CASCADE,
4361
  CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4362
  CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4363
  CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4364
  CONSTRAINT `rc_resolved_by_ibfk` FOREIGN KEY (`resolved_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4365
  CONSTRAINT `rc_updated_by_ibfk` FOREIGN KEY (`updated_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
3880
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4366
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4367
/*!40101 SET character_set_client = @saved_cs_client */;
3881
4368
3882
--
4369
--
3883
-- Table structure for table 'edifact_ean'
4370
-- Table structure for table `reviews`
3884
--
4371
--
3885
4372
3886
DROP TABLE IF EXISTS edifact_ean;
4373
DROP TABLE IF EXISTS `reviews`;
3887
CREATE TABLE IF NOT EXISTS edifact_ean (
4374
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3888
  ee_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
4375
/*!40101 SET character_set_client = utf8 */;
3889
  description VARCHAR(128) NULL DEFAULT NULL,
4376
CREATE TABLE `reviews` (
3890
  branchcode VARCHAR(10) NULL DEFAULT NULL REFERENCES branches (branchcode),
4377
  `reviewid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier for this comment',
3891
  ean VARCHAR(15) NOT NULL,
4378
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key from the borrowers table defining which patron left this comment',
3892
  id_code_qualifier VARCHAR(3) NOT NULL DEFAULT '14',
4379
  `biblionumber` int(11) DEFAULT NULL COMMENT 'foreign key from the biblio table defining which bibliographic record this comment is for',
3893
  CONSTRAINT efk_branchcode FOREIGN KEY ( branchcode ) REFERENCES branches ( branchcode )
4380
  `review` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the body of the comment',
4381
  `approved` tinyint(4) DEFAULT 0 COMMENT 'whether this comment has been approved by a librarian (1 for yes, 0 for no)',
4382
  `datereviewed` datetime DEFAULT NULL COMMENT 'the date the comment was left',
4383
  PRIMARY KEY (`reviewid`),
4384
  KEY `reviews_ibfk_1` (`borrowernumber`),
4385
  KEY `reviews_ibfk_2` (`biblionumber`),
4386
  CONSTRAINT `reviews_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4387
  CONSTRAINT `reviews_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
3894
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4388
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4389
/*!40101 SET character_set_client = @saved_cs_client */;
3895
4390
3896
--
4391
--
3897
-- Table structure for table `courses`
4392
-- Table structure for table `saved_reports`
3898
--
4393
--
3899
4394
3900
-- The courses table stores the courses created for the
4395
DROP TABLE IF EXISTS `saved_reports`;
3901
-- course reserves feature.
4396
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3902
4397
/*!40101 SET character_set_client = utf8 */;
3903
DROP TABLE IF EXISTS courses;
4398
CREATE TABLE `saved_reports` (
3904
CREATE TABLE `courses` (
4399
  `id` int(11) NOT NULL AUTO_INCREMENT,
3905
  `course_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "unique id for the course",
4400
  `report_id` int(11) DEFAULT NULL,
3906
  `department` varchar(80) DEFAULT NULL COMMENT "the authorised value for the DEPARTMENT",
4401
  `report` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
3907
  `course_number` varchar(255) DEFAULT NULL COMMENT "the 'course number' assigned to a course",
4402
  `date_run` datetime DEFAULT NULL,
3908
  `section` varchar(255) DEFAULT NULL COMMENT "the 'section' of a course",
4403
  PRIMARY KEY (`id`)
3909
  `course_name` varchar(255) DEFAULT NULL COMMENT "the name of the course",
4404
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3910
  `term` varchar(80) DEFAULT NULL COMMENT "the authorised value for the TERM",
4405
/*!40101 SET character_set_client = @saved_cs_client */;
3911
  `staff_note` LONGTEXT COMMENT "the text of the staff only note",
3912
  `public_note` LONGTEXT COMMENT "the text of the public / opac note",
3913
  `students_count` varchar(20) DEFAULT NULL COMMENT "how many students will be taking this course/section",
3914
  `enabled` enum('yes','no') NOT NULL DEFAULT 'yes' COMMENT "determines whether the course is active",
3915
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
3916
   PRIMARY KEY (`course_id`)
3917
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3918
4406
3919
--
4407
--
3920
-- Table structure for table `course_instructors`
4408
-- Table structure for table `saved_sql`
3921
--
4409
--
3922
4410
3923
-- The course instructors table links Koha borrowers to the
4411
DROP TABLE IF EXISTS `saved_sql`;
3924
-- courses they are teaching. Many instructors can teach many
4412
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3925
-- courses. course_instructors is just a many-to-many join table.
4413
/*!40101 SET character_set_client = utf8 */;
3926
4414
CREATE TABLE `saved_sql` (
3927
DROP TABLE IF EXISTS course_instructors;
4415
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id and primary key assigned by Koha',
3928
CREATE TABLE `course_instructors` (
4416
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'the staff member who created this report (borrowers.borrowernumber)',
3929
  `course_id` int(11) NOT NULL COMMENT "foreign key to link to courses.course_id",
4417
  `date_created` datetime DEFAULT NULL COMMENT 'the date this report was created',
3930
  `borrowernumber` int(11) NOT NULL COMMENT "foreign key to link to borrowers.borrowernumber for instructor information",
4418
  `last_modified` datetime DEFAULT NULL COMMENT 'the date this report was last edited',
3931
  PRIMARY KEY (`course_id`,`borrowernumber`),
4419
  `savedsql` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the SQL for this report',
3932
  KEY `borrowernumber` (`borrowernumber`)
4420
  `last_run` datetime DEFAULT NULL,
4421
  `report_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the name of this report',
4422
  `type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'always 1 for tabular',
4423
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'the notes or description given to this report',
4424
  `cache_expiry` int(11) NOT NULL DEFAULT 300,
4425
  `public` tinyint(1) NOT NULL DEFAULT 0,
4426
  `report_area` varchar(6) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4427
  `report_group` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4428
  `report_subgroup` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4429
  `mana_id` int(11) DEFAULT NULL,
4430
  PRIMARY KEY (`id`),
4431
  KEY `sql_area_group_idx` (`report_group`,`report_subgroup`),
4432
  KEY `boridx` (`borrowernumber`)
3933
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4433
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4434
/*!40101 SET character_set_client = @saved_cs_client */;
3934
4435
3935
--
4436
--
3936
-- Constraints for table `course_instructors`
4437
-- Table structure for table `search_field`
3937
--
4438
--
3938
ALTER TABLE `course_instructors`
4439
3939
  ADD CONSTRAINT `course_instructors_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`),
4440
DROP TABLE IF EXISTS `search_field`;
3940
  ADD CONSTRAINT `course_instructors_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE;
4441
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4442
/*!40101 SET character_set_client = utf8 */;
4443
CREATE TABLE `search_field` (
4444
  `id` int(11) NOT NULL AUTO_INCREMENT,
4445
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the name of the field as it will be stored in the search engine',
4446
  `label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the human readable name of the field, for display',
4447
  `type` enum('','string','date','number','boolean','sum','isbn','stdno') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'what type of data this holds, relevant when storing it in the search engine',
4448
  `weight` decimal(5,2) DEFAULT NULL,
4449
  `facet_order` tinyint(4) DEFAULT NULL COMMENT 'the order place of the field in facet list if faceted',
4450
  `staff_client` tinyint(1) NOT NULL DEFAULT 1,
4451
  `opac` tinyint(1) NOT NULL DEFAULT 1,
4452
  `mandatory` tinyint(1) DEFAULT NULL COMMENT 'if marked this field is not editable or removable',
4453
  PRIMARY KEY (`id`),
4454
  UNIQUE KEY `name` (`name`(191))
4455
) ENGINE=InnoDB AUTO_INCREMENT=169 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4456
/*!40101 SET character_set_client = @saved_cs_client */;
3941
4457
3942
--
4458
--
3943
-- Table structure for table `course_items`
4459
-- Table structure for table `search_history`
3944
--
4460
--
3945
4461
3946
-- If an item is placed on course reserve for one or more courses
4462
DROP TABLE IF EXISTS `search_history`;
3947
-- it will have an entry in this table. No matter how many courses an item
4463
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3948
-- is part of, it will only have one row in this table.
4464
/*!40101 SET character_set_client = utf8 */;
3949
4465
CREATE TABLE `search_history` (
3950
DROP TABLE IF EXISTS course_items;
4466
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'search history id',
3951
CREATE TABLE `course_items` (
4467
  `userid` int(11) NOT NULL COMMENT 'the patron who performed the search (borrowers.borrowernumber)',
3952
  `ci_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "course item id",
4468
  `sessionid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'a system generated session id',
3953
  `itemnumber` int(11) NOT NULL COMMENT "items.itemnumber for the item on reserve",
4469
  `query_desc` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the search that was performed',
3954
  `itype` varchar(10) DEFAULT NULL COMMENT "new itemtype for the item to have while on reserve (optional)",
4470
  `query_cgi` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'the string to append to the search url to rerun the search',
3955
  `itype_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT "indicates if itype should be changed while on course reserve",
4471
  `type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'biblio' COMMENT 'search type, must be ''biblio'' or ''authority''',
3956
  `itype_storage` varchar(10) DEFAULT NULL COMMENT "a place to store the itype when item is on course reserve",
4472
  `total` int(11) NOT NULL COMMENT 'the total of results found',
3957
  `ccode` varchar(80) DEFAULT NULL COMMENT "new category code for the item to have while on reserve (optional)",
4473
  `time` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'the date and time the search was run',
3958
  `ccode_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT "indicates if ccode should be changed while on course reserve",
4474
  PRIMARY KEY (`id`),
3959
  `ccode_storage` varchar(80) DEFAULT NULL COMMENT "a place to store the ccode when item is on course reserve",
4475
  KEY `userid` (`userid`),
3960
  `homebranch` varchar(10) DEFAULT NULL COMMENT "new home branch for the item to have while on reserve (optional)",
4476
  KEY `sessionid` (`sessionid`)
3961
  `homebranch_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT "indicates if homebranch should be changed while on course reserve",
4477
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Opac search history results';
3962
  `homebranch_storage` varchar(10) DEFAULT NULL COMMENT "a place to store the homebranch when item is on course reserve",
4478
/*!40101 SET character_set_client = @saved_cs_client */;
3963
  `holdingbranch` varchar(10) DEFAULT NULL COMMENT "new holding branch for the item to have while on reserve (optional)",
3964
  `holdingbranch_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT "indicates if itype should be changed while on course reserve",
3965
  `holdingbranch_storage` varchar(10) DEFAULT NULL COMMENT "a place to store the holdingbranch when item is on course reserve",
3966
  `location` varchar(80) DEFAULT NULL COMMENT "new shelving location for the item to have while on reseve (optional)",
3967
  `location_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT "indicates if itype should be changed while on course reserve",
3968
  `location_storage` varchar(80) DEFAULT NULL COMMENT "a place to store the location when the item is on course reserve",
3969
  `enabled` enum('yes','no') NOT NULL DEFAULT 'no' COMMENT "if at least one enabled course has this item on reseve, this field will be 'yes', otherwise it will be 'no'",
3970
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
3971
   PRIMARY KEY (`ci_id`),
3972
   UNIQUE KEY `itemnumber` (`itemnumber`),
3973
   KEY `holdingbranch` (`holdingbranch`)
3974
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3975
3976
--
3977
-- Constraints for table `course_items`
3978
--
3979
ALTER TABLE `course_items`
3980
  ADD CONSTRAINT `course_items_ibfk_2` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
3981
  ADD CONSTRAINT `course_items_ibfk_1` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
3982
  ADD CONSTRAINT fk_course_items_homebranch FOREIGN KEY (homebranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
3983
  ADD CONSTRAINT fk_course_items_homebranch_storage FOREIGN KEY (homebranch_storage) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
3984
4479
3985
--
4480
--
3986
-- Table structure for table `course_reserves`
4481
-- Table structure for table `search_marc_map`
3987
--
4482
--
3988
4483
3989
-- This table connects an item placed on course reserve to a course it is on reserve for.
4484
DROP TABLE IF EXISTS `search_marc_map`;
3990
-- There will be a row in this table for each course an item is on reserve for.
4485
/*!40101 SET @saved_cs_client     = @@character_set_client */;
3991
4486
/*!40101 SET character_set_client = utf8 */;
3992
DROP TABLE IF EXISTS course_reserves;
4487
CREATE TABLE `search_marc_map` (
3993
CREATE TABLE `course_reserves` (
4488
  `id` int(11) NOT NULL AUTO_INCREMENT,
3994
  `cr_id` int(11) NOT NULL AUTO_INCREMENT,
4489
  `index_name` enum('biblios','authorities') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'what storage index this map is for',
3995
  `course_id` int(11) NOT NULL COMMENT "foreign key to link to courses.course_id",
4490
  `marc_type` enum('marc21','unimarc','normarc') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'what MARC type this map is for',
3996
  `ci_id` int(11) NOT NULL COMMENT "foreign key to link to courses_items.ci_id",
4491
  `marc_field` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'the MARC specifier for this field',
3997
  `staff_note` LONGTEXT COMMENT "staff only note",
4492
  PRIMARY KEY (`id`),
3998
  `public_note` LONGTEXT COMMENT "public, OPAC visible note",
4493
  UNIQUE KEY `index_name` (`index_name`,`marc_field`(191),`marc_type`),
3999
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
4494
  KEY `index_name_2` (`index_name`)
4000
   PRIMARY KEY (`cr_id`),
4495
) ENGINE=InnoDB AUTO_INCREMENT=611 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4001
   UNIQUE KEY `pseudo_key` (`course_id`,`ci_id`),
4496
/*!40101 SET character_set_client = @saved_cs_client */;
4002
   KEY `course_id` (`course_id`)
4003
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4004
4497
4005
--
4498
--
4006
-- Constraints for table `course_reserves`
4499
-- Table structure for table `search_marc_to_field`
4007
--
4500
--
4008
ALTER TABLE `course_reserves`
4501
4009
  ADD CONSTRAINT `course_reserves_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`),
4502
DROP TABLE IF EXISTS `search_marc_to_field`;
4010
  ADD CONSTRAINT `course_reserves_ibfk_2` FOREIGN KEY (`ci_id`) REFERENCES `course_items` (`ci_id`) ON DELETE CASCADE ON UPDATE CASCADE;
4503
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4504
/*!40101 SET character_set_client = utf8 */;
4505
CREATE TABLE `search_marc_to_field` (
4506
  `search` tinyint(1) NOT NULL DEFAULT 1,
4507
  `search_marc_map_id` int(11) NOT NULL,
4508
  `search_field_id` int(11) NOT NULL,
4509
  `facet` tinyint(1) DEFAULT 0 COMMENT 'true if a facet field should be generated for this',
4510
  `suggestible` tinyint(1) DEFAULT 0 COMMENT 'true if this field can be used to generate suggestions for browse',
4511
  `sort` tinyint(1) DEFAULT NULL COMMENT 'true/false creates special sort handling, null doesn''t',
4512
  PRIMARY KEY (`search_marc_map_id`,`search_field_id`),
4513
  KEY `search_field_id` (`search_field_id`),
4514
  CONSTRAINT `search_marc_to_field_ibfk_1` FOREIGN KEY (`search_marc_map_id`) REFERENCES `search_marc_map` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
4515
  CONSTRAINT `search_marc_to_field_ibfk_2` FOREIGN KEY (`search_field_id`) REFERENCES `search_field` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
4516
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4517
/*!40101 SET character_set_client = @saved_cs_client */;
4011
4518
4012
--
4519
--
4013
-- Table structure for table `hold_fill_targets`
4520
-- Table structure for table `serial`
4014
--
4521
--
4015
4522
4016
DROP TABLE IF EXISTS `hold_fill_targets`;
4523
DROP TABLE IF EXISTS `serial`;
4017
CREATE TABLE `hold_fill_targets` (
4524
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4018
  `borrowernumber` int(11) NOT NULL,
4525
/*!40101 SET character_set_client = utf8 */;
4019
  `biblionumber` int(11) NOT NULL,
4526
CREATE TABLE `serial` (
4020
  `itemnumber` int(11) NOT NULL,
4527
  `serialid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for the issue',
4021
  `source_branchcode`  varchar(10) default NULL,
4528
  `biblionumber` int(11) NOT NULL COMMENT 'foreign key for the biblio.biblionumber that this issue is attached to',
4022
  `item_level_request` tinyint(4) NOT NULL default 0,
4529
  `subscriptionid` int(11) NOT NULL COMMENT 'foreign key to the subscription.subscriptionid that this issue is part of',
4023
  `reserve_id` int(11) DEFAULT NULL,
4530
  `serialseq` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'issue information (volume, number, etc)',
4024
  PRIMARY KEY `itemnumber` (`itemnumber`),
4531
  `serialseq_x` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'first part of issue information',
4025
  KEY `bib_branch` (`biblionumber`, `source_branchcode`),
4532
  `serialseq_y` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'second part of issue information',
4026
  CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`)
4533
  `serialseq_z` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'third part of issue information',
4027
    REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4534
  `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'status code for this issue (see manual for full descriptions)',
4028
  CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`)
4535
  `planneddate` date DEFAULT NULL COMMENT 'date expected',
4029
    REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4536
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes',
4030
  CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`)
4537
  `publisheddate` date DEFAULT NULL COMMENT 'date published',
4031
    REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4538
  `publisheddatetext` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'date published (descriptive)',
4032
  CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`)
4539
  `claimdate` date DEFAULT NULL COMMENT 'date claimed',
4033
    REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4540
  `claims_count` int(11) DEFAULT 0 COMMENT 'number of claims made related to this issue',
4541
  `routingnotes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes from the routing list',
4542
  PRIMARY KEY (`serialid`),
4543
  KEY `serial_ibfk_1` (`biblionumber`),
4544
  KEY `serial_ibfk_2` (`subscriptionid`),
4545
  CONSTRAINT `serial_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4546
  CONSTRAINT `serial_ibfk_2` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
4034
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4547
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4548
/*!40101 SET character_set_client = @saved_cs_client */;
4035
4549
4036
--
4550
--
4037
-- Table structure for table `housebound_profile`
4551
-- Table structure for table `serialitems`
4038
--
4552
--
4039
4553
4040
DROP TABLE IF EXISTS `housebound_profile`;
4554
DROP TABLE IF EXISTS `serialitems`;
4041
CREATE TABLE `housebound_profile` (
4555
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4042
  `borrowernumber` int(11) NOT NULL COMMENT "Number of the borrower associated with this profile.",
4556
/*!40101 SET character_set_client = utf8 */;
4043
  `day` MEDIUMTEXT NOT NULL COMMENT "The preferred day of the week for delivery.",
4557
CREATE TABLE `serialitems` (
4044
  `frequency` MEDIUMTEXT NOT NULL COMMENT "The Authorised_Value definining the pattern for delivery.",
4558
  `itemnumber` int(11) NOT NULL,
4045
  `fav_itemtypes` MEDIUMTEXT default NULL COMMENT "Free text describing preferred itemtypes.",
4559
  `serialid` int(11) NOT NULL,
4046
  `fav_subjects` MEDIUMTEXT default NULL COMMENT "Free text describing preferred subjects.",
4560
  PRIMARY KEY (`itemnumber`),
4047
  `fav_authors` MEDIUMTEXT default NULL COMMENT "Free text describing preferred authors.",
4561
  KEY `serialitems_sfk_1` (`serialid`),
4048
  `referral` MEDIUMTEXT default NULL COMMENT "Free text indicating how the borrower was added to the service.",
4562
  CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
4049
  `notes` MEDIUMTEXT default NULL COMMENT "Free text for additional notes.",
4563
  CONSTRAINT `serialitems_sfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
4050
  PRIMARY KEY  (`borrowernumber`),
4051
  CONSTRAINT `housebound_profile_bnfk`
4052
    FOREIGN KEY (`borrowernumber`)
4053
    REFERENCES `borrowers` (`borrowernumber`)
4054
    ON UPDATE CASCADE ON DELETE CASCADE
4055
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4564
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4565
/*!40101 SET character_set_client = @saved_cs_client */;
4056
4566
4057
--
4567
--
4058
-- Table structure for table `housebound_visit`
4568
-- Table structure for table `sessions`
4059
--
4569
--
4060
4570
4061
DROP TABLE IF EXISTS `housebound_visit`;
4571
DROP TABLE IF EXISTS `sessions`;
4062
CREATE TABLE `housebound_visit` (
4572
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4063
  `id` int(11) NOT NULL auto_increment COMMENT "ID of the visit.",
4573
/*!40101 SET character_set_client = utf8 */;
4064
  `borrowernumber` int(11) NOT NULL COMMENT "Number of the borrower, & the profile, linked to this visit.",
4574
CREATE TABLE `sessions` (
4065
  `appointment_date` date default NULL COMMENT "Date of visit.",
4575
  `id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
4066
  `day_segment` varchar(10) COMMENT "Rough time frame: 'morning', 'afternoon' 'evening'",
4576
  `a_session` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
4067
  `chooser_brwnumber` int(11) default NULL COMMENT "Number of the borrower to choose items  for delivery.",
4577
  PRIMARY KEY (`id`)
4068
  `deliverer_brwnumber` int(11) default NULL COMMENT "Number of the borrower to deliver items.",
4069
  PRIMARY KEY  (`id`),
4070
  CONSTRAINT `houseboundvisit_bnfk`
4071
    FOREIGN KEY (`borrowernumber`)
4072
    REFERENCES `housebound_profile` (`borrowernumber`)
4073
    ON UPDATE CASCADE ON DELETE CASCADE,
4074
  CONSTRAINT `houseboundvisit_bnfk_1`
4075
    FOREIGN KEY (`chooser_brwnumber`)
4076
    REFERENCES `borrowers` (`borrowernumber`)
4077
    ON UPDATE CASCADE ON DELETE CASCADE,
4078
  CONSTRAINT `houseboundvisit_bnfk_2`
4079
    FOREIGN KEY (`deliverer_brwnumber`)
4080
    REFERENCES `borrowers` (`borrowernumber`)
4081
    ON UPDATE CASCADE ON DELETE CASCADE
4082
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4578
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4579
/*!40101 SET character_set_client = @saved_cs_client */;
4083
4580
4084
--
4581
--
4085
-- Table structure for table `housebound_role`
4582
-- Table structure for table `sms_providers`
4086
--
4583
--
4087
4584
4088
DROP TABLE IF EXISTS `housebound_role`;
4585
DROP TABLE IF EXISTS `sms_providers`;
4089
CREATE TABLE IF NOT EXISTS `housebound_role` (
4586
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4090
  `borrowernumber_id` int(11) NOT NULL COMMENT "borrowernumber link",
4587
/*!40101 SET character_set_client = utf8 */;
4091
  `housebound_chooser` tinyint(1) NOT NULL DEFAULT 0 COMMENT "set to 1 to indicate this patron is a housebound chooser volunteer",
4588
CREATE TABLE `sms_providers` (
4092
  `housebound_deliverer` tinyint(1) NOT NULL DEFAULT 0 COMMENT "set to 1 to indicate this patron is a housebound deliverer volunteer",
4589
  `id` int(11) NOT NULL AUTO_INCREMENT,
4093
  PRIMARY KEY (`borrowernumber_id`),
4590
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4094
  CONSTRAINT `houseboundrole_bnfk`
4591
  `domain` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4095
    FOREIGN KEY (`borrowernumber_id`)
4592
  PRIMARY KEY (`id`),
4096
    REFERENCES `borrowers` (`borrowernumber`)
4593
  UNIQUE KEY `name` (`name`(191))
4097
    ON UPDATE CASCADE ON DELETE CASCADE
4098
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4594
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4595
/*!40101 SET character_set_client = @saved_cs_client */;
4099
4596
4100
--
4597
--
4101
-- Table structure for table 'article_requests'
4598
-- Table structure for table `smtp_servers`
4102
--
4599
--
4103
4600
4104
DROP TABLE IF EXISTS `article_requests`;
4601
DROP TABLE IF EXISTS `smtp_servers`;
4105
CREATE TABLE `article_requests` (
4602
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4603
/*!40101 SET character_set_client = utf8 */;
4604
CREATE TABLE `smtp_servers` (
4106
  `id` int(11) NOT NULL AUTO_INCREMENT,
4605
  `id` int(11) NOT NULL AUTO_INCREMENT,
4107
  `borrowernumber` int(11) NOT NULL,
4606
  `name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
4108
  `biblionumber` int(11) NOT NULL,
4607
  `host` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'localhost',
4109
  `itemnumber` int(11) DEFAULT NULL,
4608
  `port` int(11) NOT NULL DEFAULT 25,
4110
  `branchcode` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4609
  `timeout` int(11) NOT NULL DEFAULT 120,
4111
  `title` MEDIUMTEXT,
4610
  `ssl_mode` enum('disabled','ssl','starttls') COLLATE utf8mb4_unicode_ci NOT NULL,
4112
  `author` MEDIUMTEXT,
4611
  `user_name` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4113
  `volume` MEDIUMTEXT,
4612
  `password` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4114
  `issue` MEDIUMTEXT,
4613
  `debug` tinyint(1) NOT NULL DEFAULT 0,
4115
  `date` MEDIUMTEXT,
4116
  `pages` MEDIUMTEXT,
4117
  `chapters` MEDIUMTEXT,
4118
  `patron_notes` MEDIUMTEXT,
4119
  `status` enum('PENDING','PROCESSING','COMPLETED','CANCELED') NOT NULL DEFAULT 'PENDING',
4120
  `notes` MEDIUMTEXT,
4121
  `created_on` timestamp NULL DEFAULT NULL COMMENT "Be careful with two timestamps in one table not allowing NULL",
4122
  `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
4123
  PRIMARY KEY (`id`),
4614
  PRIMARY KEY (`id`),
4124
  KEY `borrowernumber` (`borrowernumber`),
4615
  KEY `host_idx` (`host`)
4125
  KEY `biblionumber` (`biblionumber`),
4126
  KEY `itemnumber` (`itemnumber`),
4127
  KEY `branchcode` (`branchcode`),
4128
  CONSTRAINT `article_requests_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4129
  CONSTRAINT `article_requests_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4130
  CONSTRAINT `article_requests_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4131
  CONSTRAINT `article_requests_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE
4132
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4616
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4617
/*!40101 SET character_set_client = @saved_cs_client */;
4133
4618
4134
--
4619
--
4135
-- Table structure for table `biblio_metadata`
4620
-- Table structure for table `social_data`
4136
--
4621
--
4137
4622
4138
DROP TABLE IF EXISTS `biblio_metadata`;
4623
DROP TABLE IF EXISTS `social_data`;
4139
CREATE TABLE biblio_metadata (
4624
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4140
    `id` INT(11) NOT NULL AUTO_INCREMENT,
4625
/*!40101 SET character_set_client = utf8 */;
4141
    `biblionumber` INT(11) NOT NULL,
4626
CREATE TABLE `social_data` (
4142
    `format` VARCHAR(16) NOT NULL,
4627
  `isbn` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4143
    `schema` VARCHAR(16) NOT NULL,
4628
  `num_critics` int(11) DEFAULT NULL,
4144
    `metadata` LONGTEXT NOT NULL,
4629
  `num_critics_pro` int(11) DEFAULT NULL,
4145
    `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
4630
  `num_quotations` int(11) DEFAULT NULL,
4146
    PRIMARY KEY(id),
4631
  `num_videos` int(11) DEFAULT NULL,
4147
    UNIQUE KEY `biblio_metadata_uniq_key` (`biblionumber`,`format`,`schema`),
4632
  `score_avg` decimal(5,2) DEFAULT NULL,
4148
    CONSTRAINT `record_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
4633
  `num_scores` int(11) DEFAULT NULL,
4149
    KEY `timestamp` (`timestamp`)
4634
  PRIMARY KEY (`isbn`)
4150
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4635
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4636
/*!40101 SET character_set_client = @saved_cs_client */;
4151
4637
4152
--
4638
--
4153
-- Table structure for table `deletedbiblio_metadata`
4639
-- Table structure for table `special_holidays`
4154
--
4640
--
4155
4641
4156
DROP TABLE IF EXISTS `deletedbiblio_metadata`;
4642
DROP TABLE IF EXISTS `special_holidays`;
4157
CREATE TABLE deletedbiblio_metadata (
4643
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4158
    `id` INT(11) NOT NULL AUTO_INCREMENT,
4644
/*!40101 SET character_set_client = utf8 */;
4159
    `biblionumber` INT(11) NOT NULL,
4645
CREATE TABLE `special_holidays` (
4160
    `format` VARCHAR(16) NOT NULL,
4646
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
4161
    `schema` VARCHAR(16) NOT NULL,
4647
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'foreign key from the branches table, defines which branch this closing is for',
4162
    `metadata` LONGTEXT NOT NULL,
4648
  `day` smallint(6) NOT NULL DEFAULT 0 COMMENT 'day of the month this closing is on',
4163
    `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
4649
  `month` smallint(6) NOT NULL DEFAULT 0 COMMENT 'month this closing is in',
4164
    PRIMARY KEY(id),
4650
  `year` smallint(6) NOT NULL DEFAULT 0 COMMENT 'year this closing is in',
4165
    UNIQUE KEY `deletedbiblio_metadata_uniq_key` (`biblionumber`,`format`,`schema`),
4651
  `isexception` smallint(1) NOT NULL DEFAULT 1 COMMENT 'is this a holiday exception to a repeatable holiday (1 for yes, 0 for no)',
4166
    CONSTRAINT `deletedrecord_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
4652
  `title` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'title for this closing',
4167
    KEY `timestamp` (`timestamp`)
4653
  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'description of this closing',
4168
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4654
  PRIMARY KEY (`id`),
4169
4655
  KEY `special_holidays_ibfk_1` (`branchcode`),
4170
--
4656
  CONSTRAINT `special_holidays_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4171
-- Table structure for table 'club_templates'
4172
--
4173
4174
CREATE TABLE IF NOT EXISTS club_templates (
4175
  id int(11) NOT NULL AUTO_INCREMENT,
4176
  `name` TEXT NOT NULL,
4177
  description MEDIUMTEXT,
4178
  is_enrollable_from_opac tinyint(1) NOT NULL DEFAULT '0',
4179
  is_email_required tinyint(1) NOT NULL DEFAULT '0',
4180
  branchcode varchar(10) NULL DEFAULT NULL,
4181
  date_created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
4182
  date_updated timestamp NULL DEFAULT NULL,
4183
  is_deletable tinyint(1) NOT NULL DEFAULT '1',
4184
  PRIMARY KEY (id),
4185
  KEY ct_branchcode (branchcode),
4186
  CONSTRAINT `club_templates_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4187
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4657
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4658
/*!40101 SET character_set_client = @saved_cs_client */;
4188
4659
4189
--
4660
--
4190
-- Table structure for table 'clubs'
4661
-- Table structure for table `statistics`
4191
--
4662
--
4192
4663
4193
CREATE TABLE IF NOT EXISTS clubs (
4664
DROP TABLE IF EXISTS `statistics`;
4194
  id int(11) NOT NULL AUTO_INCREMENT,
4665
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4195
  club_template_id int(11) NOT NULL,
4666
/*!40101 SET character_set_client = utf8 */;
4196
  `name` TEXT NOT NULL,
4667
CREATE TABLE `statistics` (
4197
  description MEDIUMTEXT,
4668
  `datetime` datetime DEFAULT NULL COMMENT 'date and time of the transaction',
4198
  date_start date DEFAULT NULL,
4669
  `branch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key, branch where the transaction occurred',
4199
  date_end date DEFAULT NULL,
4670
  `value` double(16,4) DEFAULT NULL COMMENT 'monetary value associated with the transaction',
4200
  branchcode varchar(10) NULL DEFAULT NULL,
4671
  `type` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'transaction type (localuse, issue, return, renew, writeoff, payment)',
4201
  date_created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
4672
  `other` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'used by SIP',
4202
  date_updated timestamp NULL DEFAULT NULL,
4673
  `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key from the items table, links transaction to a specific item',
4203
  PRIMARY KEY (id),
4674
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the itemtypes table, links transaction to a specific item type',
4204
  KEY club_template_id (club_template_id),
4675
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the shelving location for this item (MARC21 952$c)',
4205
  KEY branchcode (branchcode),
4676
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key from the borrowers table, links transaction to a specific borrower',
4206
  CONSTRAINT clubs_ibfk_1 FOREIGN KEY (club_template_id) REFERENCES club_templates (id) ON DELETE CASCADE ON UPDATE CASCADE,
4677
  `ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the items table, links transaction to a specific collection code',
4207
  CONSTRAINT clubs_ibfk_2 FOREIGN KEY (branchcode) REFERENCES branches (branchcode)
4678
  KEY `timeidx` (`datetime`),
4679
  KEY `branch_idx` (`branch`),
4680
  KEY `type_idx` (`type`),
4681
  KEY `itemnumber_idx` (`itemnumber`),
4682
  KEY `itemtype_idx` (`itemtype`),
4683
  KEY `borrowernumber_idx` (`borrowernumber`),
4684
  KEY `ccode_idx` (`ccode`)
4208
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4685
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4686
/*!40101 SET character_set_client = @saved_cs_client */;
4209
4687
4210
--
4688
--
4211
-- Table structure for table 'club_holds'
4689
-- Table structure for table `stockrotationitems`
4212
--
4690
--
4213
4691
4214
CREATE TABLE IF NOT EXISTS club_holds (
4692
DROP TABLE IF EXISTS `stockrotationitems`;
4215
    id        INT(11) NOT NULL AUTO_INCREMENT,
4693
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4216
    club_id   INT(11) NOT NULL COMMENT "id for the club the hold was generated for",
4694
/*!40101 SET character_set_client = utf8 */;
4217
    biblio_id INT(11) NOT NULL COMMENT "id for the bibliographic record the hold has been placed against",
4695
CREATE TABLE `stockrotationitems` (
4218
    item_id   INT(11) NULL DEFAULT NULL COMMENT "If item-level, the id for the item the hold has been placed agains",
4696
  `itemnumber_id` int(11) NOT NULL COMMENT 'Itemnumber to link to a stage & rota',
4219
    date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "Timestamp for the placed hold",
4697
  `stage_id` int(11) NOT NULL COMMENT 'stage ID to link the item to',
4220
    PRIMARY KEY (id),
4698
  `indemand` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Should this item be skipped for rotation?',
4221
    -- KEY club_id (club_id),
4699
  `fresh` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Flag showing item is only just added to rota',
4222
    CONSTRAINT clubs_holds_ibfk_1 FOREIGN KEY (club_id)   REFERENCES clubs  (id) ON DELETE CASCADE ON UPDATE CASCADE,
4700
  PRIMARY KEY (`itemnumber_id`),
4223
    CONSTRAINT clubs_holds_ibfk_2 FOREIGN KEY (biblio_id) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE,
4701
  KEY `stockrotationitems_sifk` (`stage_id`),
4224
    CONSTRAINT clubs_holds_ibfk_3 FOREIGN KEY (item_id)   REFERENCES items  (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
4702
  CONSTRAINT `stockrotationitems_iifk` FOREIGN KEY (`itemnumber_id`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4703
  CONSTRAINT `stockrotationitems_sifk` FOREIGN KEY (`stage_id`) REFERENCES `stockrotationstages` (`stage_id`) ON DELETE CASCADE ON UPDATE CASCADE
4225
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4704
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4705
/*!40101 SET character_set_client = @saved_cs_client */;
4226
4706
4227
--
4707
--
4228
-- Table structure for table 'club_holds_to_patron_holds'
4708
-- Table structure for table `stockrotationrotas`
4229
--
4709
--
4230
4710
4231
CREATE TABLE IF NOT EXISTS club_holds_to_patron_holds (
4711
DROP TABLE IF EXISTS `stockrotationrotas`;
4232
    id              INT(11) NOT NULL AUTO_INCREMENT,
4712
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4233
    club_hold_id    INT(11) NOT NULL,
4713
/*!40101 SET character_set_client = utf8 */;
4234
    patron_id       INT(11) NOT NULL,
4714
CREATE TABLE `stockrotationrotas` (
4235
    hold_id         INT(11),
4715
  `rota_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Stockrotation rota ID',
4236
    error_code      ENUM ( 'damaged', 'ageRestricted', 'itemAlreadyOnHold',
4716
  `title` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Title for this rota',
4237
                        'tooManyHoldsForThisRecord', 'tooManyReservesToday',
4717
  `description` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Description for this rota',
4238
                        'tooManyReserves', 'notReservable', 'cannotReserveFromOtherBranches',
4718
  `cyclical` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Should items on this rota keep cycling?',
4239
                        'libraryNotFound', 'libraryNotPickupLocation', 'cannotBeTransferred'
4719
  `active` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is this rota currently active?',
4240
                    ) NULL DEFAULT NULL,
4720
  PRIMARY KEY (`rota_id`)
4241
    error_message   varchar(100) NULL DEFAULT NULL,
4242
    PRIMARY KEY (id),
4243
    -- KEY club_hold_id (club_hold_id),
4244
    CONSTRAINT clubs_holds_paton_holds_ibfk_1 FOREIGN KEY (club_hold_id) REFERENCES club_holds (id) ON DELETE CASCADE ON UPDATE CASCADE,
4245
    CONSTRAINT clubs_holds_paton_holds_ibfk_2 FOREIGN KEY (patron_id) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
4246
    CONSTRAINT clubs_holds_paton_holds_ibfk_3 FOREIGN KEY (hold_id) REFERENCES reserves (reserve_id) ON DELETE CASCADE ON UPDATE CASCADE
4247
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4721
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4722
/*!40101 SET character_set_client = @saved_cs_client */;
4248
4723
4249
--
4724
--
4250
-- Table structure for table 'club_enrollments'
4725
-- Table structure for table `stockrotationstages`
4251
--
4726
--
4252
4727
4253
CREATE TABLE IF NOT EXISTS club_enrollments (
4728
DROP TABLE IF EXISTS `stockrotationstages`;
4254
  id int(11) NOT NULL AUTO_INCREMENT,
4729
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4255
  club_id int(11) NOT NULL,
4730
/*!40101 SET character_set_client = utf8 */;
4256
  borrowernumber int(11) NOT NULL,
4731
CREATE TABLE `stockrotationstages` (
4257
  date_enrolled timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
4732
  `stage_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique stage ID',
4258
  date_canceled timestamp NULL DEFAULT NULL,
4733
  `position` int(11) NOT NULL COMMENT 'The position of this stage within its rota',
4259
  date_created timestamp NULL DEFAULT NULL,
4734
  `rota_id` int(11) NOT NULL COMMENT 'The rota this stage belongs to',
4260
  date_updated timestamp NULL DEFAULT NULL,
4735
  `branchcode_id` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Branch this stage relates to',
4261
  branchcode varchar(10) NULL DEFAULT NULL,
4736
  `duration` int(11) NOT NULL DEFAULT 4 COMMENT 'The number of days items shoud occupy this stage',
4262
  PRIMARY KEY (id),
4737
  PRIMARY KEY (`stage_id`),
4263
  KEY club_id (club_id),
4738
  KEY `stockrotationstages_rifk` (`rota_id`),
4264
  KEY borrowernumber (borrowernumber),
4739
  KEY `stockrotationstages_bifk` (`branchcode_id`),
4265
  KEY branchcode (branchcode),
4740
  CONSTRAINT `stockrotationstages_bifk` FOREIGN KEY (`branchcode_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
4266
  CONSTRAINT club_enrollments_ibfk_1 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE,
4741
  CONSTRAINT `stockrotationstages_rifk` FOREIGN KEY (`rota_id`) REFERENCES `stockrotationrotas` (`rota_id`) ON DELETE CASCADE ON UPDATE CASCADE
4267
  CONSTRAINT club_enrollments_ibfk_2 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
4268
  CONSTRAINT club_enrollments_ibfk_3 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE SET NULL ON UPDATE CASCADE
4269
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4742
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4743
/*!40101 SET character_set_client = @saved_cs_client */;
4270
4744
4271
--
4745
--
4272
-- Table structure for table 'club_template_enrollment_fields'
4746
-- Table structure for table `subscription`
4273
--
4747
--
4274
4748
4275
CREATE TABLE IF NOT EXISTS club_template_enrollment_fields (
4749
DROP TABLE IF EXISTS `subscription`;
4276
  id int(11) NOT NULL AUTO_INCREMENT,
4750
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4277
  club_template_id int(11) NOT NULL,
4751
/*!40101 SET character_set_client = utf8 */;
4278
  `name` TEXT NOT NULL,
4752
CREATE TABLE `subscription` (
4279
  description MEDIUMTEXT,
4753
  `biblionumber` int(11) NOT NULL COMMENT 'foreign key for biblio.biblionumber that this subscription is attached to',
4280
  authorised_value_category varchar(16) DEFAULT NULL,
4754
  `subscriptionid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key for this subscription',
4281
  PRIMARY KEY (id),
4755
  `librarian` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'the librarian''s username from borrowers.userid',
4282
  KEY club_template_id (club_template_id),
4756
  `startdate` date DEFAULT NULL COMMENT 'start date for this subscription',
4283
  CONSTRAINT club_template_enrollment_fields_ibfk_1 FOREIGN KEY (club_template_id) REFERENCES club_templates (id) ON DELETE CASCADE ON UPDATE CASCADE
4757
  `aqbooksellerid` int(11) DEFAULT 0 COMMENT 'foreign key for aqbooksellers.id to link to the vendor',
4284
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4758
  `cost` int(11) DEFAULT 0,
4759
  `aqbudgetid` int(11) DEFAULT 0,
4760
  `weeklength` int(11) DEFAULT 0 COMMENT 'subscription length in weeks (will not be filled in if monthlength or numberlength is set)',
4761
  `monthlength` int(11) DEFAULT 0 COMMENT 'subscription length in weeks (will not be filled in if weeklength or numberlength is set)',
4762
  `numberlength` int(11) DEFAULT 0 COMMENT 'subscription length in weeks (will not be filled in if monthlength or weeklength is set)',
4763
  `periodicity` int(11) DEFAULT NULL COMMENT 'frequency type links to subscription_frequencies.id',
4764
  `countissuesperunit` int(11) NOT NULL DEFAULT 1,
4765
  `notes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'notes',
4766
  `status` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'status of this subscription',
4767
  `lastvalue1` int(11) DEFAULT NULL,
4768
  `innerloop1` int(11) DEFAULT 0,
4769
  `lastvalue2` int(11) DEFAULT NULL,
4770
  `innerloop2` int(11) DEFAULT 0,
4771
  `lastvalue3` int(11) DEFAULT NULL,
4772
  `innerloop3` int(11) DEFAULT 0,
4773
  `firstacquidate` date DEFAULT NULL COMMENT 'first issue received date',
4774
  `manualhistory` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'yes or no to managing the history manually',
4775
  `irregularity` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any irregularities in the subscription',
4776
  `skip_serialseq` tinyint(1) NOT NULL DEFAULT 0,
4777
  `letter` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4778
  `numberpattern` int(11) DEFAULT NULL COMMENT 'the numbering pattern used links to subscription_numberpatterns.id',
4779
  `locale` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'for foreign language subscriptions to display months, seasons, etc correctly',
4780
  `distributedto` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4781
  `internalnotes` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4782
  `callnumber` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'default call number',
4783
  `location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'default shelving location (items.location)',
4784
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'default branches (items.homebranch)',
4785
  `lastbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4786
  `serialsadditems` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'does receiving this serial create an item record',
4787
  `staffdisplaycount` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'how many issues to show to the staff',
4788
  `opacdisplaycount` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'how many issues to show to the public',
4789
  `graceperiod` int(11) NOT NULL DEFAULT 0 COMMENT 'grace period in days',
4790
  `enddate` date DEFAULT NULL COMMENT 'subscription end date',
4791
  `closed` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'yes / no if the subscription is closed',
4792
  `reneweddate` date DEFAULT NULL COMMENT 'date of last renewal for the subscription',
4793
  `itemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4794
  `previousitemtype` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4795
  `mana_id` int(11) DEFAULT NULL,
4796
  PRIMARY KEY (`subscriptionid`),
4797
  KEY `subscription_ibfk_1` (`periodicity`),
4798
  KEY `subscription_ibfk_2` (`numberpattern`),
4799
  KEY `subscription_ibfk_3` (`biblionumber`),
4800
  CONSTRAINT `subscription_ibfk_1` FOREIGN KEY (`periodicity`) REFERENCES `subscription_frequencies` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
4801
  CONSTRAINT `subscription_ibfk_2` FOREIGN KEY (`numberpattern`) REFERENCES `subscription_numberpatterns` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
4802
  CONSTRAINT `subscription_ibfk_3` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
4803
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4804
/*!40101 SET character_set_client = @saved_cs_client */;
4805
4806
--
4807
-- Table structure for table `subscription_frequencies`
4808
--
4809
4810
DROP TABLE IF EXISTS `subscription_frequencies`;
4811
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4812
/*!40101 SET character_set_client = utf8 */;
4813
CREATE TABLE `subscription_frequencies` (
4814
  `id` int(11) NOT NULL AUTO_INCREMENT,
4815
  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
4816
  `displayorder` int(11) DEFAULT NULL,
4817
  `unit` enum('day','week','month','year') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4818
  `unitsperissue` int(11) NOT NULL DEFAULT 1,
4819
  `issuesperunit` int(11) NOT NULL DEFAULT 1,
4820
  PRIMARY KEY (`id`)
4821
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4822
/*!40101 SET character_set_client = @saved_cs_client */;
4285
4823
4286
--
4824
--
4287
-- Table structure for table 'club_enrollment_fields'
4825
-- Table structure for table `subscription_numberpatterns`
4288
--
4826
--
4289
4827
4290
CREATE TABLE IF NOT EXISTS club_enrollment_fields (
4828
DROP TABLE IF EXISTS `subscription_numberpatterns`;
4291
  id int(11) NOT NULL AUTO_INCREMENT,
4829
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4292
  club_enrollment_id int(11) NOT NULL,
4830
/*!40101 SET character_set_client = utf8 */;
4293
  club_template_enrollment_field_id int(11) NOT NULL,
4831
CREATE TABLE `subscription_numberpatterns` (
4294
  `value` MEDIUMTEXT NOT NULL,
4832
  `id` int(11) NOT NULL AUTO_INCREMENT,
4295
  PRIMARY KEY (id),
4833
  `label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4296
  KEY club_enrollment_id (club_enrollment_id),
4834
  `displayorder` int(11) DEFAULT NULL,
4297
  KEY club_template_enrollment_field_id (club_template_enrollment_field_id),
4835
  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
4298
  CONSTRAINT club_enrollment_fields_ibfk_1 FOREIGN KEY (club_enrollment_id) REFERENCES club_enrollments (id) ON DELETE CASCADE ON UPDATE CASCADE,
4836
  `numberingmethod` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4299
  CONSTRAINT club_enrollment_fields_ibfk_2 FOREIGN KEY (club_template_enrollment_field_id) REFERENCES club_template_enrollment_fields (id) ON DELETE CASCADE ON UPDATE CASCADE
4837
  `label1` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4300
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4838
  `add1` int(11) DEFAULT NULL,
4839
  `every1` int(11) DEFAULT NULL,
4840
  `whenmorethan1` int(11) DEFAULT NULL,
4841
  `setto1` int(11) DEFAULT NULL,
4842
  `numbering1` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4843
  `label2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4844
  `add2` int(11) DEFAULT NULL,
4845
  `every2` int(11) DEFAULT NULL,
4846
  `whenmorethan2` int(11) DEFAULT NULL,
4847
  `setto2` int(11) DEFAULT NULL,
4848
  `numbering2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4849
  `label3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4850
  `add3` int(11) DEFAULT NULL,
4851
  `every3` int(11) DEFAULT NULL,
4852
  `whenmorethan3` int(11) DEFAULT NULL,
4853
  `setto3` int(11) DEFAULT NULL,
4854
  `numbering3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4855
  PRIMARY KEY (`id`)
4856
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4857
/*!40101 SET character_set_client = @saved_cs_client */;
4301
4858
4302
--
4859
--
4303
-- Table structure for table 'club_template_fields'
4860
-- Table structure for table `subscriptionhistory`
4304
--
4861
--
4305
4862
4306
CREATE TABLE IF NOT EXISTS club_template_fields (
4863
DROP TABLE IF EXISTS `subscriptionhistory`;
4307
  id int(11) NOT NULL AUTO_INCREMENT,
4864
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4308
  club_template_id int(11) NOT NULL,
4865
/*!40101 SET character_set_client = utf8 */;
4309
  `name` TEXT NOT NULL,
4866
CREATE TABLE `subscriptionhistory` (
4310
  description MEDIUMTEXT,
4867
  `biblionumber` int(11) NOT NULL,
4311
  authorised_value_category varchar(16) DEFAULT NULL,
4868
  `subscriptionid` int(11) NOT NULL,
4312
  PRIMARY KEY (id),
4869
  `histstartdate` date DEFAULT NULL,
4313
  KEY club_template_id (club_template_id),
4870
  `histenddate` date DEFAULT NULL,
4314
  CONSTRAINT club_template_fields_ibfk_1 FOREIGN KEY (club_template_id) REFERENCES club_templates (id) ON DELETE CASCADE ON UPDATE CASCADE
4871
  `missinglist` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
4872
  `recievedlist` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
4873
  `opacnote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4874
  `librariannote` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4875
  PRIMARY KEY (`subscriptionid`),
4876
  KEY `subscription_history_ibfk_1` (`biblionumber`),
4877
  CONSTRAINT `subscription_history_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4878
  CONSTRAINT `subscription_history_ibfk_2` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
4315
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4879
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4880
/*!40101 SET character_set_client = @saved_cs_client */;
4316
4881
4317
--
4882
--
4318
-- Table structure for table 'club_fields'
4883
-- Table structure for table `subscriptionroutinglist`
4319
--
4884
--
4320
4885
4321
CREATE TABLE IF NOT EXISTS club_fields (
4886
DROP TABLE IF EXISTS `subscriptionroutinglist`;
4322
  id int(11) NOT NULL AUTO_INCREMENT,
4887
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4323
  club_template_field_id int(11) NOT NULL,
4888
/*!40101 SET character_set_client = utf8 */;
4324
  club_id int(11) NOT NULL,
4889
CREATE TABLE `subscriptionroutinglist` (
4325
  `value` MEDIUMTEXT,
4890
  `routingid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
4326
  PRIMARY KEY (id),
4891
  `borrowernumber` int(11) NOT NULL COMMENT 'foreign key from the borrowers table, defines with patron is on the routing list',
4327
  KEY club_template_field_id (club_template_field_id),
4892
  `ranking` int(11) DEFAULT NULL COMMENT 'where the patron stands in line to receive the serial',
4328
  KEY club_id (club_id),
4893
  `subscriptionid` int(11) NOT NULL COMMENT 'foreign key from the subscription table, defines which subscription this routing list is for',
4329
  CONSTRAINT club_fields_ibfk_3 FOREIGN KEY (club_template_field_id) REFERENCES club_template_fields (id) ON DELETE CASCADE ON UPDATE CASCADE,
4894
  PRIMARY KEY (`routingid`),
4330
  CONSTRAINT club_fields_ibfk_4 FOREIGN KEY (club_id) REFERENCES clubs (id) ON DELETE CASCADE ON UPDATE CASCADE
4895
  UNIQUE KEY `subscriptionid` (`subscriptionid`,`borrowernumber`),
4331
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4896
  KEY `subscriptionroutinglist_ibfk_1` (`borrowernumber`),
4897
  CONSTRAINT `subscriptionroutinglist_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4898
  CONSTRAINT `subscriptionroutinglist_ibfk_2` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
4899
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4900
/*!40101 SET character_set_client = @saved_cs_client */;
4332
4901
4333
--
4902
--
4334
-- Table structure for table 'guarantors_guarantees'
4903
-- Table structure for table `suggestions`
4335
--
4904
--
4336
4905
4337
DROP TABLE IF EXISTS borrower_relationships;
4906
DROP TABLE IF EXISTS `suggestions`;
4338
CREATE TABLE `borrower_relationships` (
4907
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4339
      id INT(11) NOT NULL AUTO_INCREMENT,
4908
/*!40101 SET character_set_client = utf8 */;
4340
      guarantor_id INT(11) NULL DEFAULT NULL,
4909
CREATE TABLE `suggestions` (
4341
      guarantee_id INT(11) NOT NULL,
4910
  `suggestionid` int(8) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned automatically by Koha',
4342
      relationship VARCHAR(100) NOT NULL,
4911
  `suggestedby` int(11) DEFAULT NULL COMMENT 'borrowernumber for the person making the suggestion, foreign key linking to the borrowers table',
4343
      PRIMARY KEY (id),
4912
  `suggesteddate` date NOT NULL COMMENT 'date the suggestion was submitted',
4344
      UNIQUE KEY `guarantor_guarantee_idx` ( `guarantor_id`, `guarantee_id` ),
4913
  `managedby` int(11) DEFAULT NULL COMMENT 'borrowernumber for the librarian managing the suggestion, foreign key linking to the borrowers table',
4345
      CONSTRAINT r_guarantor FOREIGN KEY ( guarantor_id ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE,
4914
  `manageddate` date DEFAULT NULL COMMENT 'date the suggestion was updated',
4346
      CONSTRAINT r_guarantee FOREIGN KEY ( guarantee_id ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE
4915
  `acceptedby` int(11) DEFAULT NULL COMMENT 'borrowernumber for the librarian who accepted the suggestion, foreign key linking to the borrowers table',
4916
  `accepteddate` date DEFAULT NULL COMMENT 'date the suggestion was marked as accepted',
4917
  `rejectedby` int(11) DEFAULT NULL COMMENT 'borrowernumber for the librarian who rejected the suggestion, foreign key linking to the borrowers table',
4918
  `rejecteddate` date DEFAULT NULL COMMENT 'date the suggestion was marked as rejected',
4919
  `lastmodificationby` int(11) DEFAULT NULL COMMENT 'borrowernumber for the librarian who edit the suggestion for the last time',
4920
  `lastmodificationdate` date DEFAULT NULL COMMENT 'date of the last modification',
4921
  `STATUS` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'suggestion status (ASKED, CHECKED, ACCEPTED, REJECTED, ORDERED, AVAILABLE or a value from the SUGGEST_STATUS authorised value category)',
4922
  `archived` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'is the suggestion archived?',
4923
  `note` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'note entered on the suggestion',
4924
  `author` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'author of the suggested item',
4925
  `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'title of the suggested item',
4926
  `copyrightdate` smallint(6) DEFAULT NULL COMMENT 'copyright date of the suggested item',
4927
  `publishercode` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publisher of the suggested item',
4928
  `date` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time the suggestion was updated',
4929
  `volumedesc` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4930
  `publicationyear` smallint(6) DEFAULT 0,
4931
  `place` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publication place of the suggested item',
4932
  `isbn` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'isbn of the suggested item',
4933
  `biblionumber` int(11) DEFAULT NULL COMMENT 'foreign key linking the suggestion to the biblio table after the suggestion has been ordered',
4934
  `reason` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'reason for accepting or rejecting the suggestion',
4935
  `patronreason` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'reason for making the suggestion',
4936
  `budgetid` int(11) DEFAULT NULL COMMENT 'foreign key linking the suggested budget to the aqbudgets table',
4937
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key linking the suggested branch to the branches table',
4938
  `collectiontitle` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'collection name for the suggested item',
4939
  `itemtype` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'suggested item type',
4940
  `quantity` smallint(6) DEFAULT NULL COMMENT 'suggested quantity to be purchased',
4941
  `currency` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'suggested currency for the suggested price',
4942
  `price` decimal(28,6) DEFAULT NULL COMMENT 'suggested price',
4943
  `total` decimal(28,6) DEFAULT NULL COMMENT 'suggested total cost (price*quantity updated for currency)',
4944
  PRIMARY KEY (`suggestionid`),
4945
  KEY `suggestedby` (`suggestedby`),
4946
  KEY `managedby` (`managedby`),
4947
  KEY `acceptedby` (`acceptedby`),
4948
  KEY `rejectedby` (`rejectedby`),
4949
  KEY `biblionumber` (`biblionumber`),
4950
  KEY `budgetid` (`budgetid`),
4951
  KEY `branchcode` (`branchcode`),
4952
  KEY `status` (`STATUS`),
4953
  KEY `suggestions_ibfk_lastmodificationby` (`lastmodificationby`),
4954
  CONSTRAINT `suggestions_budget_id_fk` FOREIGN KEY (`budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE,
4955
  CONSTRAINT `suggestions_ibfk_acceptedby` FOREIGN KEY (`acceptedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4956
  CONSTRAINT `suggestions_ibfk_biblionumber` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4957
  CONSTRAINT `suggestions_ibfk_branchcode` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE,
4958
  CONSTRAINT `suggestions_ibfk_lastmodificationby` FOREIGN KEY (`lastmodificationby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4959
  CONSTRAINT `suggestions_ibfk_managedby` FOREIGN KEY (`managedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4960
  CONSTRAINT `suggestions_ibfk_rejectedby` FOREIGN KEY (`rejectedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4961
  CONSTRAINT `suggestions_ibfk_suggestedby` FOREIGN KEY (`suggestedby`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
4347
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4962
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4963
/*!40101 SET character_set_client = @saved_cs_client */;
4348
4964
4349
--
4965
--
4350
-- Table structure for table `illrequests`
4966
-- Table structure for table `systempreferences`
4351
--
4967
--
4352
4968
4353
DROP TABLE IF EXISTS `illrequests`;
4969
DROP TABLE IF EXISTS `systempreferences`;
4354
CREATE TABLE illrequests (
4970
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4355
    illrequest_id serial PRIMARY KEY COMMENT "ILL request number",
4971
/*!40101 SET character_set_client = utf8 */;
4356
    borrowernumber integer DEFAULT NULL COMMENT "Patron associated with request",
4972
CREATE TABLE `systempreferences` (
4357
    biblio_id integer DEFAULT NULL COMMENT "Potential bib linked to request",
4973
  `variable` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'system preference name',
4358
    branchcode varchar(50) NOT NULL COMMENT "The branch associated with the request",
4974
  `value` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'system preference values',
4359
    status varchar(50) DEFAULT NULL COMMENT "Current Koha status of request",
4975
  `options` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'options for multiple choice system preferences',
4360
    status_alias varchar(80) DEFAULT NULL COMMENT "Foreign key to relevant authorised_values.authorised_value",
4976
  `explanation` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'descriptive text for the system preference',
4361
    placed date DEFAULT NULL COMMENT "Date the request was placed",
4977
  `type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'type of question this preference asks (multiple choice, plain text, yes or no, etc)',
4362
    replied date DEFAULT NULL COMMENT "Last API response",
4978
  PRIMARY KEY (`variable`)
4363
    updated timestamp DEFAULT CURRENT_TIMESTAMP -- Last modification to request
4364
      ON UPDATE CURRENT_TIMESTAMP,
4365
    completed date DEFAULT NULL COMMENT "Date the request was completed",
4366
    medium varchar(30) DEFAULT NULL COMMENT "The Koha request type",
4367
    accessurl varchar(500) DEFAULT NULL COMMENT "Potential URL for accessing item",
4368
    cost varchar(20) DEFAULT NULL COMMENT "Quotes cost of request",
4369
    price_paid varchar(20) DEFAULT NULL COMMENT "Final cost of request",
4370
    notesopac MEDIUMTEXT DEFAULT NULL COMMENT "Patron notes attached to request",
4371
    notesstaff MEDIUMTEXT DEFAULT NULL COMMENT "Staff notes attached to request",
4372
    orderid varchar(50) DEFAULT NULL COMMENT "Backend id attached to request",
4373
    backend varchar(20) DEFAULT NULL COMMENT "The backend used to create request",
4374
    CONSTRAINT `illrequests_bnfk`
4375
      FOREIGN KEY (`borrowernumber`)
4376
      REFERENCES `borrowers` (`borrowernumber`)
4377
      ON UPDATE CASCADE ON DELETE CASCADE,
4378
    CONSTRAINT `illrequests_bcfk_2`
4379
      FOREIGN KEY (`branchcode`)
4380
      REFERENCES `branches` (`branchcode`)
4381
      ON UPDATE CASCADE ON DELETE CASCADE,
4382
    CONSTRAINT `illrequests_safk`
4383
      FOREIGN KEY (`status_alias`)
4384
      REFERENCES `authorised_values` (`authorised_value`)
4385
      ON UPDATE CASCADE ON DELETE SET NULL
4386
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4979
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4980
/*!40101 SET character_set_client = @saved_cs_client */;
4387
4981
4388
--
4982
--
4389
-- Table structure for table `illrequestattributes`
4983
-- Table structure for table `tables_settings`
4390
--
4984
--
4391
4985
4392
DROP TABLE IF EXISTS `illrequestattributes`;
4986
DROP TABLE IF EXISTS `tables_settings`;
4393
CREATE TABLE illrequestattributes (
4987
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4394
    illrequest_id bigint(20) unsigned NOT NULL COMMENT "ILL request number",
4988
/*!40101 SET character_set_client = utf8 */;
4395
    type varchar(200) NOT NULL COMMENT "API ILL property name",
4989
CREATE TABLE `tables_settings` (
4396
    value MEDIUMTEXT NOT NULL COMMENT "API ILL property value",
4990
  `module` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4397
    readonly tinyint(1) NOT NULL DEFAULT 1 COMMENT "Is this attribute read only",
4991
  `page` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4398
    PRIMARY KEY  (`illrequest_id`, `type` (191)),
4992
  `tablename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
4399
    CONSTRAINT `illrequestattributes_ifk`
4993
  `default_display_length` smallint(6) NOT NULL DEFAULT 20,
4400
      FOREIGN KEY (illrequest_id)
4994
  `default_sort_order` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4401
      REFERENCES `illrequests` (`illrequest_id`)
4995
  PRIMARY KEY (`module`(191),`page`(191),`tablename`(191))
4402
      ON UPDATE CASCADE ON DELETE CASCADE
4403
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4996
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4997
/*!40101 SET character_set_client = @saved_cs_client */;
4404
4998
4405
--
4999
--
4406
-- Table structure for table 'library_groups'
5000
-- Table structure for table `tags`
4407
--
5001
--
4408
5002
4409
DROP TABLE IF EXISTS `library_groups`;
5003
DROP TABLE IF EXISTS `tags`;
4410
CREATE TABLE library_groups (
5004
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4411
    id INT(11) NOT NULL auto_increment COMMENT "unique id for each group",
5005
/*!40101 SET character_set_client = utf8 */;
4412
    parent_id INT(11) NULL DEFAULT NULL COMMENT "if this is a child group, the id of the parent group",
5006
CREATE TABLE `tags` (
4413
    branchcode VARCHAR(10) NULL DEFAULT NULL COMMENT "The branchcode of a branch belonging to the parent group",
5007
  `entry` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4414
    title VARCHAR(100) NULL DEFAULT NULL COMMENT "Short description of the goup",
5008
  `weight` bigint(20) NOT NULL DEFAULT 0,
4415
    description MEDIUMTEXT NULL DEFAULT NULL COMMENT "Longer explanation of the group, if necessary",
5009
  PRIMARY KEY (`entry`(191))
4416
    ft_hide_patron_info tinyint(1) NOT NULL DEFAULT 0 COMMENT "Turn on the feature 'Hide patron's info' for this group",
4417
    ft_search_groups_opac tinyint(1) NOT NULL DEFAULT 0 COMMENT "Use this group for staff side search groups",
4418
    ft_search_groups_staff tinyint(1) NOT NULL DEFAULT 0 COMMENT "Use this group for opac side search groups",
4419
    ft_local_hold_group tinyint(1) NOT NULL DEFAULT 0 COMMENT "Use this group to identify libraries as pick up location for holds",
4420
    created_on TIMESTAMP NULL COMMENT "Date and time of creation",
4421
    updated_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "Date and time of last",
4422
    PRIMARY KEY id ( id ),
4423
    FOREIGN KEY (parent_id) REFERENCES library_groups(id) ON UPDATE CASCADE ON DELETE CASCADE,
4424
    FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON UPDATE CASCADE ON DELETE CASCADE,
4425
    UNIQUE KEY title ( title ),
4426
    UNIQUE KEY library_groups_uniq_2 ( parent_id, branchcode )
4427
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5010
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5011
/*!40101 SET character_set_client = @saved_cs_client */;
4428
5012
4429
--
5013
--
4430
-- Table structure for table 'oauth_access_tokens'
5014
-- Table structure for table `tags_all`
4431
--
5015
--
4432
5016
4433
DROP TABLE IF EXISTS `oauth_access_tokens`;
5017
DROP TABLE IF EXISTS `tags_all`;
4434
CREATE TABLE `oauth_access_tokens` (
5018
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4435
    `access_token` VARCHAR(191) NOT NULL COMMENT "generarated access token",
5019
/*!40101 SET character_set_client = utf8 */;
4436
    `client_id`    VARCHAR(191) NOT NULL COMMENT "the client id the access token belongs to",
5020
CREATE TABLE `tags_all` (
4437
    `expires`      INT NOT NULL COMMENT "expiration time in seconds",
5021
  `tag_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique id and primary key',
4438
    PRIMARY KEY (`access_token`)
5022
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'the patron who added the tag (borrowers.borrowernumber)',
5023
  `biblionumber` int(11) NOT NULL COMMENT 'the bib record this tag was left on (biblio.biblionumber)',
5024
  `term` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'the tag',
5025
  `language` int(4) DEFAULT NULL COMMENT 'the language the tag was left in',
5026
  `date_created` datetime NOT NULL COMMENT 'the date the tag was added',
5027
  PRIMARY KEY (`tag_id`),
5028
  KEY `tags_borrowers_fk_1` (`borrowernumber`),
5029
  KEY `tags_biblionumber_fk_1` (`biblionumber`),
5030
  CONSTRAINT `tags_biblionumber_fk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5031
  CONSTRAINT `tags_borrowers_fk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
4439
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5032
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5033
/*!40101 SET character_set_client = @saved_cs_client */;
4440
5034
4441
--
5035
--
4442
-- Table structure for table illcomments
5036
-- Table structure for table `tags_approval`
4443
--
5037
--
4444
5038
4445
DROP TABLE IF EXISTS `illcomments`;
5039
DROP TABLE IF EXISTS `tags_approval`;
4446
CREATE TABLE illcomments (
5040
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4447
    illcomment_id int(11) NOT NULL AUTO_INCREMENT COMMENT "Unique ID of the comment",
5041
/*!40101 SET character_set_client = utf8 */;
4448
    illrequest_id bigint(20) unsigned NOT NULL COMMENT "ILL request number",
5042
CREATE TABLE `tags_approval` (
4449
    borrowernumber integer DEFAULT NULL COMMENT "Link to the user who made the comment (could be librarian, patron or ILL partner library)",
5043
  `term` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'the tag',
4450
    comment text DEFAULT NULL COMMENT "The text of the comment",
5044
  `approved` int(1) NOT NULL DEFAULT 0 COMMENT 'whether the tag is approved or not (1=yes, 0=pending, -1=rejected)',
4451
    timestamp timestamp DEFAULT CURRENT_TIMESTAMP COMMENT "Date and time when the comment was made",
5045
  `date_approved` datetime DEFAULT NULL COMMENT 'the date this tag was approved',
4452
    PRIMARY KEY  ( illcomment_id ),
5046
  `approved_by` int(11) DEFAULT NULL COMMENT 'the librarian who approved the tag (borrowers.borrowernumber)',
4453
    CONSTRAINT illcomments_bnfk
5047
  `weight_total` int(9) NOT NULL DEFAULT 1 COMMENT 'the total number of times this tag was used',
4454
      FOREIGN KEY ( borrowernumber )
5048
  PRIMARY KEY (`term`),
4455
      REFERENCES  borrowers  ( borrowernumber )
5049
  KEY `tags_approval_borrowers_fk_1` (`approved_by`),
4456
      ON UPDATE CASCADE ON DELETE CASCADE,
5050
  CONSTRAINT `tags_approval_borrowers_fk_1` FOREIGN KEY (`approved_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
4457
    CONSTRAINT illcomments_ifk
4458
      FOREIGN KEY (illrequest_id)
4459
      REFERENCES illrequests ( illrequest_id )
4460
      ON UPDATE CASCADE ON DELETE CASCADE
4461
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5051
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5052
/*!40101 SET character_set_client = @saved_cs_client */;
4462
5053
4463
--
5054
--
4464
-- Table structure for table `circulation_rules`
5055
-- Table structure for table `tags_index`
4465
--
5056
--
4466
5057
4467
DROP TABLE IF EXISTS `circulation_rules`;
5058
DROP TABLE IF EXISTS `tags_index`;
4468
CREATE TABLE `circulation_rules` (
5059
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4469
  `id` int(11) NOT NULL auto_increment,
5060
/*!40101 SET character_set_client = utf8 */;
4470
  `branchcode` varchar(10) NULL default NULL,
5061
CREATE TABLE `tags_index` (
4471
  `categorycode` varchar(10) NULL default NULL,
5062
  `term` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'the tag',
4472
  `itemtype` varchar(10) NULL default NULL,
5063
  `biblionumber` int(11) NOT NULL COMMENT 'the bib record this tag was used on (biblio.biblionumber)',
4473
  `rule_name` varchar(32) NOT NULL,
5064
  `weight` int(9) NOT NULL DEFAULT 1 COMMENT 'the number of times this term was used on this bib record',
4474
  `rule_value` varchar(32) NOT NULL,
5065
  PRIMARY KEY (`term`,`biblionumber`),
4475
  PRIMARY KEY (`id`),
5066
  KEY `tags_index_biblionumber_fk_1` (`biblionumber`),
4476
  CONSTRAINT `circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
5067
  CONSTRAINT `tags_index_biblionumber_fk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4477
  CONSTRAINT `circ_rules_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE,
5068
  CONSTRAINT `tags_index_term_fk_1` FOREIGN KEY (`term`) REFERENCES `tags_approval` (`term`) ON DELETE CASCADE ON UPDATE CASCADE
4478
  CONSTRAINT `circ_rules_ibfk_3` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE,
4479
  KEY `rule_name` (`rule_name`),
4480
  UNIQUE (`branchcode`,`categorycode`,`itemtype`,`rule_name`)
4481
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5069
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5070
/*!40101 SET character_set_client = @saved_cs_client */;
4482
5071
4483
--
5072
--
4484
-- Table structure for table `stockrotationrotas`
5073
-- Table structure for table `tmp_holdsqueue`
4485
--
5074
--
4486
5075
4487
DROP TABLE IF EXISTS stockrotationrotas;
5076
DROP TABLE IF EXISTS `tmp_holdsqueue`;
4488
CREATE TABLE stockrotationrotas (
5077
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4489
    rota_id int(11) auto_increment COMMENT "Stockrotation rota ID",
5078
/*!40101 SET character_set_client = utf8 */;
4490
    title varchar(100) NOT NULL COMMENT "Title for this rota",
5079
CREATE TABLE `tmp_holdsqueue` (
4491
    description text NOT NULL COMMENT "Description for this rota",
5080
  `biblionumber` int(11) DEFAULT NULL,
4492
    cyclical tinyint(1) NOT NULL default 0 COMMENT "Should items on this rota keep cycling?",
5081
  `itemnumber` int(11) DEFAULT NULL,
4493
    active tinyint(1) NOT NULL default 0 COMMENT "Is this rota currently active?",
5082
  `barcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4494
    PRIMARY KEY (`rota_id`)
5083
  `surname` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
5084
  `firstname` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5085
  `phone` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5086
  `borrowernumber` int(11) NOT NULL,
5087
  `cardnumber` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5088
  `reservedate` date DEFAULT NULL,
5089
  `title` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5090
  `itemcallnumber` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5091
  `holdingbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5092
  `pickbranch` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5093
  `notes` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5094
  `item_level_request` tinyint(4) NOT NULL DEFAULT 0,
5095
  KEY `tmp_holdsqueue_ibfk_1` (`itemnumber`),
5096
  CONSTRAINT `tmp_holdsqueue_ibfk_1` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
4495
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5097
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5098
/*!40101 SET character_set_client = @saved_cs_client */;
4496
5099
4497
--
5100
--
4498
-- Table structure for table `stockrotationstages`
5101
-- Table structure for table `transport_cost`
4499
--
5102
--
4500
5103
4501
DROP TABLE IF EXISTS stockrotationstages;
5104
DROP TABLE IF EXISTS `transport_cost`;
4502
CREATE TABLE stockrotationstages (
5105
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4503
    stage_id int(11) auto_increment COMMENT "Unique stage ID",
5106
/*!40101 SET character_set_client = utf8 */;
4504
    position int(11) NOT NULL COMMENT "The position of this stage within its rota",
5107
CREATE TABLE `transport_cost` (
4505
    rota_id int(11) NOT NULL COMMENT "The rota this stage belongs to",
5108
  `frombranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
4506
    branchcode_id varchar(10) NOT NULL COMMENT "Branch this stage relates to",
5109
  `tobranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
4507
    duration int(11) NOT NULL default 4 COMMENT "The number of days items shoud occupy this stage",
5110
  `cost` decimal(6,2) NOT NULL,
4508
    PRIMARY KEY (`stage_id`),
5111
  `disable_transfer` tinyint(1) NOT NULL DEFAULT 0,
4509
    CONSTRAINT `stockrotationstages_rifk`
5112
  PRIMARY KEY (`frombranch`,`tobranch`),
4510
      FOREIGN KEY (`rota_id`)
5113
  KEY `transport_cost_ibfk_2` (`tobranch`),
4511
      REFERENCES `stockrotationrotas` (`rota_id`)
5114
  CONSTRAINT `transport_cost_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
4512
      ON UPDATE CASCADE ON DELETE CASCADE,
5115
  CONSTRAINT `transport_cost_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
4513
    CONSTRAINT `stockrotationstages_bifk`
4514
      FOREIGN KEY (`branchcode_id`)
4515
      REFERENCES `branches` (`branchcode`)
4516
      ON UPDATE CASCADE ON DELETE CASCADE
4517
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5116
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5117
/*!40101 SET character_set_client = @saved_cs_client */;
4518
5118
4519
--
5119
--
4520
-- Table structure for table `stockrotationitems`
5120
-- Table structure for table `uploaded_files`
4521
--
5121
--
4522
5122
4523
DROP TABLE IF EXISTS stockrotationitems;
5123
DROP TABLE IF EXISTS `uploaded_files`;
4524
CREATE TABLE stockrotationitems (
5124
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4525
    itemnumber_id int(11) NOT NULL COMMENT "Itemnumber to link to a stage & rota",
5125
/*!40101 SET character_set_client = utf8 */;
4526
    stage_id int(11) NOT NULL COMMENT "stage ID to link the item to",
5126
CREATE TABLE `uploaded_files` (
4527
    indemand tinyint(1) NOT NULL default 0 COMMENT "Should this item be skipped for rotation?",
5127
  `id` int(11) NOT NULL AUTO_INCREMENT,
4528
    fresh tinyint(1) NOT NULL default 0 COMMENT "Flag showing item is only just added to rota",
5128
  `hashvalue` char(40) COLLATE utf8mb4_unicode_ci NOT NULL,
4529
    PRIMARY KEY (itemnumber_id),
5129
  `filename` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
4530
    CONSTRAINT `stockrotationitems_iifk`
5130
  `dir` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
4531
      FOREIGN KEY (`itemnumber_id`)
5131
  `filesize` int(11) DEFAULT NULL,
4532
      REFERENCES `items` (`itemnumber`)
5132
  `dtcreated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
4533
      ON UPDATE CASCADE ON DELETE CASCADE,
5133
  `uploadcategorycode` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4534
    CONSTRAINT `stockrotationitems_sifk`
5134
  `owner` int(11) DEFAULT NULL,
4535
      FOREIGN KEY (`stage_id`)
5135
  `public` tinyint(4) DEFAULT NULL,
4536
      REFERENCES `stockrotationstages` (`stage_id`)
5136
  `permanent` tinyint(4) DEFAULT NULL,
4537
      ON UPDATE CASCADE ON DELETE CASCADE
5137
  PRIMARY KEY (`id`)
4538
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5138
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5139
/*!40101 SET character_set_client = @saved_cs_client */;
4539
5140
4540
--
5141
--
4541
-- Table structure for table `keyboardshortcuts`
5142
-- Table structure for table `user_permissions`
4542
--
5143
--
4543
5144
4544
DROP TABLE IF EXISTS `keyboard_shortcuts`;
5145
DROP TABLE IF EXISTS `user_permissions`;
4545
CREATE TABLE keyboard_shortcuts (
5146
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4546
shortcut_name varchar(80) NOT NULL,
5147
/*!40101 SET character_set_client = utf8 */;
4547
shortcut_keys varchar(80) NOT NULL,
5148
CREATE TABLE `user_permissions` (
4548
PRIMARY KEY (shortcut_name)
5149
  `borrowernumber` int(11) NOT NULL DEFAULT 0,
5150
  `module_bit` int(11) NOT NULL DEFAULT 0,
5151
  `code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5152
  KEY `user_permissions_ibfk_1` (`borrowernumber`),
5153
  KEY `user_permissions_ibfk_2` (`module_bit`,`code`),
5154
  CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5155
  CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`) ON DELETE CASCADE ON UPDATE CASCADE
4549
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5156
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5157
/*!40101 SET character_set_client = @saved_cs_client */;
4550
5158
4551
--
5159
--
4552
-- Table structure for table itemtypes_branches
5160
-- Table structure for table `userflags`
4553
--
5161
--
4554
5162
4555
DROP TABLE IF EXISTS itemtypes_branches;
5163
DROP TABLE IF EXISTS `userflags`;
4556
CREATE TABLE itemtypes_branches( -- association table between authorised_values and branches
5164
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4557
    itemtype VARCHAR(10) NOT NULL,
5165
/*!40101 SET character_set_client = utf8 */;
4558
    branchcode VARCHAR(10) NOT NULL,
5166
CREATE TABLE `userflags` (
4559
    FOREIGN KEY (itemtype) REFERENCES itemtypes(itemtype) ON DELETE CASCADE,
5167
  `bit` int(11) NOT NULL DEFAULT 0,
4560
    FOREIGN KEY (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE
5168
  `flag` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5169
  `flagdesc` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
5170
  `defaulton` int(11) DEFAULT NULL,
5171
  PRIMARY KEY (`bit`)
4561
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5172
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5173
/*!40101 SET character_set_client = @saved_cs_client */;
4562
5174
4563
--
5175
--
4564
-- Table structure for table `return_claims`
5176
-- Table structure for table `vendor_edi_accounts`
4565
--
5177
--
4566
5178
4567
DROP TABLE IF EXISTS `return_claims`;
5179
DROP TABLE IF EXISTS `vendor_edi_accounts`;
4568
CREATE TABLE return_claims (
5180
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4569
    id int(11) auto_increment COMMENT "Unique ID of the return claim",
5181
/*!40101 SET character_set_client = utf8 */;
4570
    itemnumber int(11) NOT NULL COMMENT "ID of the item",
5182
CREATE TABLE `vendor_edi_accounts` (
4571
    issue_id int(11) NULL DEFAULT NULL COMMENT "ID of the checkout that triggered the claim",
5183
  `id` int(11) NOT NULL AUTO_INCREMENT,
4572
    borrowernumber int(11) NOT NULL COMMENT "ID of the patron",
5184
  `description` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
4573
    notes MEDIUMTEXT DEFAULT NULL COMMENT "Notes about the claim",
5185
  `host` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4574
    created_on TIMESTAMP NULL COMMENT "Time and date the claim was created",
5186
  `username` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4575
    created_by int(11) NULL DEFAULT NULL COMMENT "ID of the staff member that registered the claim",
5187
  `password` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4576
    updated_on TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP COMMENT "Time and date of the latest change on the claim (notes)",
5188
  `last_activity` date DEFAULT NULL,
4577
    updated_by int(11) NULL DEFAULT NULL COMMENT "ID of the staff member that updated the claim",
5189
  `vendor_id` int(11) DEFAULT NULL,
4578
    resolution  varchar(80) NULL DEFAULT NULL COMMENT "Resolution code (RETURN_CLAIM_RESOLUTION AVs)",
5190
  `download_directory` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4579
    resolved_on TIMESTAMP NULL DEFAULT NULL COMMENT "Time and date the claim was resolved",
5191
  `upload_directory` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4580
    resolved_by int(11) NULL DEFAULT NULL COMMENT "ID of the staff member that resolved the claim",
5192
  `san` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4581
    PRIMARY KEY (`id`),
5193
  `id_code_qualifier` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT '14',
4582
    KEY `itemnumber` (`itemnumber`),
5194
  `transport` varchar(6) COLLATE utf8mb4_unicode_ci DEFAULT 'FTP',
4583
    CONSTRAINT UNIQUE `issue_id` ( issue_id ),
5195
  `quotes_enabled` tinyint(1) NOT NULL DEFAULT 0,
4584
    CONSTRAINT `issue_id` FOREIGN KEY (`issue_id`) REFERENCES `issues` (`issue_id`) ON DELETE SET NULL ON UPDATE CASCADE,
5196
  `invoices_enabled` tinyint(1) NOT NULL DEFAULT 0,
4585
    CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5197
  `orders_enabled` tinyint(1) NOT NULL DEFAULT 0,
4586
    CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5198
  `responses_enabled` tinyint(1) NOT NULL DEFAULT 0,
4587
    CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
5199
  `auto_orders` tinyint(1) NOT NULL DEFAULT 0,
4588
    CONSTRAINT `rc_updated_by_ibfk` FOREIGN KEY (`updated_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
5200
  `shipment_budget` int(11) DEFAULT NULL,
4589
    CONSTRAINT `rc_resolved_by_ibfk` FOREIGN KEY (`resolved_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
5201
  `plugin` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
5202
  PRIMARY KEY (`id`),
5203
  KEY `vendorid` (`vendor_id`),
5204
  KEY `shipmentbudget` (`shipment_budget`),
5205
  CONSTRAINT `vfk_shipment_budget` FOREIGN KEY (`shipment_budget`) REFERENCES `aqbudgets` (`budget_id`),
5206
  CONSTRAINT `vfk_vendor_id` FOREIGN KEY (`vendor_id`) REFERENCES `aqbooksellers` (`id`)
4590
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5207
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5208
/*!40101 SET character_set_client = @saved_cs_client */;
4591
5209
4592
--
5210
--
4593
-- Table structure for table `problem_reports`
5211
-- Table structure for table `virtualshelfcontents`
4594
--
5212
--
4595
5213
4596
DROP TABLE IF EXISTS `problem_reports`;
5214
DROP TABLE IF EXISTS `virtualshelfcontents`;
4597
CREATE TABLE `problem_reports` (
5215
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4598
    `reportid` int(11) NOT NULL auto_increment COMMENT "unique identifier assigned by Koha",
5216
/*!40101 SET character_set_client = utf8 */;
4599
    `title` varchar(40) NOT NULL default '' COMMENT "report subject line",
5217
CREATE TABLE `virtualshelfcontents` (
4600
    `content` varchar(255) NOT NULL default '' COMMENT "report message content",
5218
  `shelfnumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key linking to the virtualshelves table, defines the list that this record has been added to',
4601
    `borrowernumber` int(11) NOT NULL default 0 COMMENT "the user who created the problem report",
5219
  `biblionumber` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key linking to the biblio table, defines the bib record that has been added to the list',
4602
    `branchcode` varchar(10) NOT NULL default '' COMMENT "borrower's branch",
5220
  `flags` int(11) DEFAULT NULL,
4603
    `username` varchar(75) default NULL COMMENT "OPAC username",
5221
  `dateadded` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this bib record was added to the list',
4604
    `problempage` TEXT default NULL COMMENT "page the user triggered the problem report form from",
5222
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'borrower number that created this list entry (only the first one is saved: no need for use in/as key)',
4605
    `recipient` enum('admin','library') NOT NULL default 'library' COMMENT "the 'to-address' of the problem report",
5223
  KEY `shelfnumber` (`shelfnumber`),
4606
    `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "timestamp of report submission",
5224
  KEY `biblionumber` (`biblionumber`),
4607
    `status` varchar(6) NOT NULL default 'New' COMMENT "status of the report. New, Viewed, Closed",
5225
  KEY `shelfcontents_ibfk_3` (`borrowernumber`),
4608
    PRIMARY KEY (`reportid`),
5226
  CONSTRAINT `shelfcontents_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4609
    CONSTRAINT `problem_reports_ibfk1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5227
  CONSTRAINT `shelfcontents_ibfk_3` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
4610
    CONSTRAINT `problem_reports_ibfk2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
5228
  CONSTRAINT `virtualshelfcontents_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE
4611
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5229
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5230
/*!40101 SET character_set_client = @saved_cs_client */;
4612
5231
4613
--
5232
--
4614
-- Table structure for table advanced_editor_macros
5233
-- Table structure for table `virtualshelfshares`
4615
--
5234
--
4616
5235
4617
DROP TABLE IF EXISTS advanced_editor_macros;
5236
DROP TABLE IF EXISTS `virtualshelfshares`;
4618
CREATE TABLE advanced_editor_macros (
5237
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4619
    id INT(11) NOT NULL AUTO_INCREMENT COMMENT "Unique ID of the macro",
5238
/*!40101 SET character_set_client = utf8 */;
4620
    name varchar(80) NOT NULL COMMENT "Name of the macro",
5239
CREATE TABLE `virtualshelfshares` (
4621
    macro longtext NULL COMMENT "The macro code itself",
5240
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique key',
4622
    borrowernumber INT(11) default NULL COMMENT "ID of the borrower who created this macro",
5241
  `shelfnumber` int(11) NOT NULL COMMENT 'foreign key for virtualshelves',
4623
    shared TINYINT(1) default 0 COMMENT "Bit to define if shared or private macro",
5242
  `borrowernumber` int(11) DEFAULT NULL COMMENT 'borrower that accepted access to this list',
4624
    PRIMARY KEY (id),
5243
  `invitekey` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'temporary string used in accepting the invitation to access thist list; not-empty means that the invitation has not been accepted yet',
4625
    CONSTRAINT borrower_macro_fk FOREIGN KEY ( borrowernumber ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE
5244
  `sharedate` datetime DEFAULT NULL COMMENT 'date of invitation or acceptance of invitation',
5245
  PRIMARY KEY (`id`),
5246
  KEY `virtualshelfshares_ibfk_1` (`shelfnumber`),
5247
  KEY `virtualshelfshares_ibfk_2` (`borrowernumber`),
5248
  CONSTRAINT `virtualshelfshares_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
5249
  CONSTRAINT `virtualshelfshares_ibfk_2` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL
4626
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5250
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5251
/*!40101 SET character_set_client = @saved_cs_client */;
4627
5252
4628
--
5253
--
4629
-- Table structure for table smtp_servers
5254
-- Table structure for table `virtualshelves`
4630
--
5255
--
4631
5256
4632
DROP TABLE IF EXISTS `smtp_servers`;
5257
DROP TABLE IF EXISTS `virtualshelves`;
4633
CREATE TABLE `smtp_servers` (
5258
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4634
    `id` INT(11) NOT NULL AUTO_INCREMENT,
5259
/*!40101 SET character_set_client = utf8 */;
4635
    -- Unique ID of the server
5260
CREATE TABLE `virtualshelves` (
4636
    `name` VARCHAR(80) NOT NULL,
5261
  `shelfnumber` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
4637
    -- Name of the SMTP server
5262
  `shelfname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'name of the list',
4638
    `host` VARCHAR(80) NOT NULL DEFAULT 'localhost',
5263
  `owner` int(11) DEFAULT NULL COMMENT 'foreign key linking to the borrowers table (using borrowernumber) for the creator of this list (changed from varchar(80) to int)',
4639
    -- FQDN for the SMTP server
5264
  `category` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'type of list (private [1], public [2])',
4640
    `port` INT(11) NOT NULL DEFAULT 25,
5265
  `sortfield` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT 'title' COMMENT 'the field this list is sorted on',
4641
    -- TCP port number
5266
  `lastmodified` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time the list was last modified',
4642
    `timeout` INT(11) NOT NULL DEFAULT 120,
5267
  `created_on` datetime NOT NULL COMMENT 'creation time',
4643
    -- Maximum time in secs to wait for server
5268
  `allow_change_from_owner` tinyint(1) DEFAULT 1 COMMENT 'can owner change contents?',
4644
    `ssl_mode` ENUM('disabled', 'ssl', 'starttls') NOT NULL,
5269
  `allow_change_from_others` tinyint(1) DEFAULT 0 COMMENT 'can others change contents?',
4645
    -- If STARTTLS needs to be issued
5270
  PRIMARY KEY (`shelfnumber`),
4646
    `user_name` VARCHAR(80) NULL DEFAULT NULL,
5271
  KEY `virtualshelves_ibfk_1` (`owner`),
4647
    -- The username to use for auth; optional
5272
  CONSTRAINT `virtualshelves_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL
4648
    `password` VARCHAR(80) NULL DEFAULT NULL,
5273
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4649
    -- The password to use for auth; required if username is provided
5274
/*!40101 SET character_set_client = @saved_cs_client */;
4650
    `debug` TINYINT(1) NOT NULL DEFAULT 0,
5275
4651
    PRIMARY KEY (`id`),
5276
--
4652
    KEY `host_idx` (`host`)
5277
-- Table structure for table `z3950servers`
4653
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4654
4655
--
4656
-- Table structure for table library_smtp_servers
4657
--
5278
--
4658
5279
4659
DROP TABLE IF EXISTS `library_smtp_servers`;
5280
DROP TABLE IF EXISTS `z3950servers`;
4660
CREATE TABLE `library_smtp_servers` (
5281
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4661
    `id` INT(11) NOT NULL AUTO_INCREMENT,
5282
/*!40101 SET character_set_client = utf8 */;
4662
    -- Unique ID of the library<->SMTP server link
5283
CREATE TABLE `z3950servers` (
4663
    `library_id` VARCHAR(10) NOT NULL,
5284
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha',
4664
    -- Internal identifier for the library
5285
  `host` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'target''s host name',
4665
    `smtp_server_id` INT(11) NOT NULL,
5286
  `port` int(11) DEFAULT NULL COMMENT 'port number used to connect to target',
4666
    -- Internal identifier for the SMTP server
5287
  `db` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'target''s database name',
4667
    PRIMARY KEY (`id`),
5288
  `userid` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'username needed to log in to target',
4668
    UNIQUE KEY `library_id_idx` (`library_id`),
5289
  `password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'password needed to log in to target',
4669
    KEY `smtp_server_id_idx` (`smtp_server_id`),
5290
  `servername` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'name given to the target by the library',
4670
    CONSTRAINT `library_smtp_servers_library_fk` FOREIGN KEY (`library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
5291
  `checked` smallint(6) DEFAULT NULL COMMENT 'whether this target is checked by default  (1 for yes, 0 for no)',
4671
    CONSTRAINT `library_smtp_servers_smtp_servers_fk` FOREIGN KEY (`smtp_server_id`) REFERENCES `smtp_servers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
5292
  `rank` int(11) DEFAULT NULL COMMENT 'where this target appears in the list of targets',
4672
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
5293
  `syntax` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'marc format provided by this target',
5294
  `timeout` int(11) NOT NULL DEFAULT 0 COMMENT 'number of seconds before Koha stops trying to access this server',
5295
  `servertype` enum('zed','sru') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zed' COMMENT 'zed means z39.50 server',
5296
  `encoding` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'characters encoding provided by this target',
5297
  `recordtype` enum('authority','biblio') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'biblio' COMMENT 'server contains bibliographic or authority records',
5298
  `sru_options` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'options like sru=get, sru_version=1.1; will be passed to the server via ZOOM',
5299
  `sru_fields` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'contains the mapping between the Z3950 search fields and the specific SRU server indexes',
5300
  `add_xslt` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zero or more paths to XSLT files to be processed on the search results',
5301
  `attributes` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'additional attributes passed to PQF queries',
5302
  PRIMARY KEY (`id`)
5303
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5304
/*!40101 SET character_set_client = @saved_cs_client */;
4673
5305
4674
--
5306
--
4675
-- Table structure for table background_jobs
5307
-- Table structure for table `zebraqueue`
4676
--
5308
--
4677
5309
4678
DROP TABLE IF EXISTS `background_jobs`;
5310
DROP TABLE IF EXISTS `zebraqueue`;
4679
CREATE TABLE background_jobs (
5311
/*!40101 SET @saved_cs_client     = @@character_set_client */;
4680
    id INT(11) NOT NULL AUTO_INCREMENT,
5312
/*!40101 SET character_set_client = utf8 */;
4681
    status VARCHAR(32),
5313
CREATE TABLE `zebraqueue` (
4682
    progress INT(11),
5314
  `id` int(11) NOT NULL AUTO_INCREMENT,
4683
    size INT(11),
5315
  `biblio_auth_number` bigint(20) unsigned NOT NULL DEFAULT 0,
4684
    borrowernumber INT(11),
5316
  `operation` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4685
    type VARCHAR(64),
5317
  `server` char(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
4686
    data TEXT,
5318
  `done` int(11) NOT NULL DEFAULT 0,
4687
    enqueued_on DATETIME DEFAULT NULL,
5319
  `time` timestamp NOT NULL DEFAULT current_timestamp(),
4688
    started_on DATETIME DEFAULT NULL,
5320
  PRIMARY KEY (`id`),
4689
    ended_on DATETIME DEFAULT NULL,
5321
  KEY `zebraqueue_lookup` (`server`,`biblio_auth_number`,`operation`,`done`)
4690
    PRIMARY KEY (id)
4691
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
5322
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4692
5323
/*!40101 SET character_set_client = @saved_cs_client */;
4693
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
5324
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
5325
4694
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
5326
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4695
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
5327
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4696
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
5328
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
Lines 4698-4700 CREATE TABLE background_jobs ( Link Here
4698
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
5330
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
4699
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
5331
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
4700
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
5332
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
4701
- 
5333
5334
-- Dump completed on 2020-12-04 14:35:26

Return to bug 26947