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
C