Bug 21294: Replace BOOLEAN with TINYINT(1) in our DB structure

To match the coding guideline SQL12.
We do this for consistency.
Note that we do not need an update DB as BOOLEAN is an alias for
TINYINT(1).

The is_boolean flags have been added to the schema.

Test plan:
1. `dbic` should run correctly
2. kohastructure.sql should be syntaxicaly correct
3. `git grep -i boolean installer/data/mysql/kohastructure.sql`
should not return relevant occurrences.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Jonathan Druart 2020-04-15 16:15:33 +02:00 committed by Martin Renvoize
parent 76bf4dc056
commit feab2cbeb2
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F
7 changed files with 45 additions and 19 deletions

View file

@ -172,6 +172,14 @@ __PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:R2x8Z9Db2oDULEODgLuw8Q
__PACKAGE__->add_columns(
'+orderacquisition' => { is_boolean => 1 },
'+claimacquisition' => { is_boolean => 1 },
'+claimissues' => { is_boolean => 1 },
'+acqprimary' => { is_boolean => 1 },
'+serialsprimary' => { is_boolean => 1 },
);
sub koha_object_class {
'Koha::Acquisition::Bookseller::Contact';
}

View file

@ -198,5 +198,8 @@ __PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JHUEsQ+kXjGTRxxc2FFSjQ
__PACKAGE__->add_columns(
'+deleted' => { is_boolean => 1 },
);
1;

View file

@ -301,6 +301,12 @@ __PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07046 @ 2020-03-18 12:43:15
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4vMUC/1kSr3vgQ7n0Pmuug
__PACKAGE__->add_columns(
'+item_level_hold' => { is_boolean => 1 },
'+lowestPriority' => { is_boolean => 1 },
'+suspend' => { is_boolean => 1 }
);
sub koha_object_class {
'Koha::Old::Hold';
}

View file

@ -173,6 +173,10 @@ __PACKAGE__->set_primary_key("id");
# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-01-23 12:56:39
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:f7wxGGnBk3z6mw2CkaeD9A
__PACKAGE__->add_columns(
'+public' => { is_boolean => 1 }
);
sub koha_object_class {
'Koha::Report';
}

View file

@ -131,6 +131,10 @@ __PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-10-02 12:47:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9mqZ/zrii+Fv+k+eQNHYUw
__PACKAGE__->add_columns(
'+facet' => { is_boolean => 1 },
'+suggestible' => { is_boolean => 1 },
'+sort' => { is_boolean => 1 },
);
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;

View file

@ -517,7 +517,8 @@ __PACKAGE__->has_many(
);
__PACKAGE__->add_columns(
'+closed' => { is_boolean => 1 },
'+closed' => { is_boolean => 1 },
'+skip_serialseq' => { is_boolean => 1 },
);
# You can replace this text with custom content, and it will be preserved on regeneration

View file

@ -1326,7 +1326,7 @@ CREATE TABLE saved_sql ( -- saved sql reports
`type` varchar(255) default NULL, -- always 1 for tabular
`notes` MEDIUMTEXT, -- the notes or description given to this report
`cache_expiry` int NOT NULL default 300,
`public` boolean NOT NULL default FALSE,
`public` tinyint(1) NOT NULL default FALSE,
report_area varchar(6) default NULL,
report_group varchar(80) default NULL,
report_subgroup varchar(80) default NULL,
@ -1411,9 +1411,9 @@ CREATE TABLE `search_marc_to_field` (
search tinyint(1) NOT NULL DEFAULT 1,
search_marc_map_id int(11) NOT NULL,
search_field_id int(11) NOT NULL,
facet boolean DEFAULT FALSE COMMENT 'true if a facet field should be generated for this',
suggestible boolean DEFAULT FALSE COMMENT 'true if this field can be used to generate suggestions for browse',
sort boolean DEFAULT NULL COMMENT 'true/false creates special sort handling, null doesn''t',
facet tinyint(1) DEFAULT FALSE COMMENT 'true if a facet field should be generated for this',
suggestible tinyint(1) DEFAULT FALSE COMMENT 'true if this field can be used to generate suggestions for browse',
sort tinyint(1) DEFAULT NULL COMMENT 'true/false creates special sort handling, null doesn''t',
PRIMARY KEY(search_marc_map_id, search_field_id),
FOREIGN KEY(search_marc_map_id) REFERENCES search_marc_map(id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(search_field_id) REFERENCES search_field(id) ON DELETE CASCADE ON UPDATE CASCADE
@ -1611,7 +1611,7 @@ CREATE TABLE `issues` ( -- information related to check outs or issues
`returndate` datetime default NULL, -- date the item was returned, will be NULL until moved to old_issues
`lastreneweddate` datetime default NULL, -- date the item was last renewed
`renewals` tinyint(4) NOT NULL default 0, -- lists the number of times the item was renewed
`auto_renew` BOOLEAN default FALSE, -- automatic renewal
`auto_renew` tinyint(1) default FALSE, -- automatic renewal
`auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, -- automatic renewal error
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
`issuedate` datetime default NULL, -- date the item was checked out or issued
@ -1643,7 +1643,7 @@ CREATE TABLE `old_issues` ( -- lists items that were checked out and have been r
`returndate` datetime default NULL, -- date the item was returned
`lastreneweddate` datetime default NULL, -- date the item was last renewed
`renewals` tinyint(4) NOT NULL default 0, -- lists the number of times the item was renewed
`auto_renew` BOOLEAN default FALSE, -- automatic renewal
`auto_renew` tinyint(1) default FALSE, -- automatic renewal
`auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, -- automatic renewal error
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
`issuedate` datetime default NULL, -- date the item was checked out or issued
@ -1759,10 +1759,10 @@ CREATE TABLE `reserves` ( -- information related to holds/reserves in Koha
`waitingdate` date default NULL, -- the date the item was marked as waiting for the patron at the library
`expirationdate` DATE DEFAULT NULL, -- the date the hold expires (usually the date entered by the patron to say they don't need the hold after a certain date)
`lowestPriority` tinyint(1) NOT NULL DEFAULT 0,
`suspend` BOOLEAN NOT NULL DEFAULT 0,
`suspend` tinyint(1) NOT NULL DEFAULT 0,
`suspend_until` DATETIME NULL DEFAULT NULL,
`itemtype` VARCHAR(10) NULL DEFAULT NULL, -- If record level hold, the optional itemtype of the item the patron is requesting
`item_level_hold` BOOLEAN NOT NULL DEFAULT 0, -- Is the hpld placed at item level
`item_level_hold` tinyint(1) NOT NULL DEFAULT 0, -- Is the hpld placed at item level
PRIMARY KEY (`reserve_id`),
KEY priorityfoundidx (priority,found),
KEY `borrowernumber` (`borrowernumber`),
@ -1799,10 +1799,10 @@ CREATE TABLE `old_reserves` ( -- this table holds all holds/reserves that have b
`waitingdate` date default NULL, -- the date the item was marked as waiting for the patron at the library
`expirationdate` DATE DEFAULT NULL, -- the date the hold expires (usually the date entered by the patron to say they don't need the hold after a certain date)
`lowestPriority` tinyint(1) NOT NULL DEFAULT 0, -- has this hold been pinned to the lowest priority in the holds queue (1 for yes, 0 for no)
`suspend` BOOLEAN NOT NULL DEFAULT 0, -- in this hold suspended (1 for yes, 0 for no)
`suspend` tinyint(1) NOT NULL DEFAULT 0, -- in this hold suspended (1 for yes, 0 for no)
`suspend_until` DATETIME NULL DEFAULT NULL, -- the date this hold is suspended until (NULL for infinitely)
`itemtype` VARCHAR(10) NULL DEFAULT NULL, -- If record level hold, the optional itemtype of the item the patron is requesting
`item_level_hold` BOOLEAN NOT NULL DEFAULT 0, -- Is the hpld placed at item level
`item_level_hold` tinyint(1) NOT NULL DEFAULT 0, -- Is the hpld placed at item level
PRIMARY KEY (`reserve_id`),
KEY `old_reserves_borrowernumber` (`borrowernumber`),
KEY `old_reserves_biblionumber` (`biblionumber`),
@ -1955,7 +1955,7 @@ CREATE TABLE `subscription` ( -- information related to the subscription
`firstacquidate` date default NULL, -- first issue received date
`manualhistory` tinyint(1) NOT NULL default 0, -- yes or no to managing the history manually
`irregularity` MEDIUMTEXT, -- any irregularities in the subscription
skip_serialseq BOOLEAN NOT NULL DEFAULT 0,
skip_serialseq tinyint(1) NOT NULL DEFAULT 0,
`letter` varchar(20) default NULL,
`numberpattern` integer default null, -- the numbering pattern used links to subscription_numberpatterns.id
locale VARCHAR(80) DEFAULT NULL, -- for foreign language subscriptions to display months, seasons, etc correctly
@ -2925,11 +2925,11 @@ CREATE TABLE aqcontacts (
fax varchar(100) default NULL, -- contact's fax number
email varchar(100) default NULL, -- contact's email address
notes LONGTEXT, -- notes related to the contact
orderacquisition BOOLEAN NOT NULL DEFAULT 0, -- should this contact receive acquisition orders
claimacquisition BOOLEAN NOT NULL DEFAULT 0, -- should this contact receive acquisitions claims
claimissues BOOLEAN NOT NULL DEFAULT 0, -- should this contact receive serial claims
acqprimary BOOLEAN NOT NULL DEFAULT 0, -- is this the primary contact for acquisitions messages
serialsprimary BOOLEAN NOT NULL DEFAULT 0, -- is this the primary contact for serials messages
orderacquisition tinyint(1) NOT NULL DEFAULT 0, -- should this contact receive acquisition orders
claimacquisition tinyint(1) NOT NULL DEFAULT 0, -- should this contact receive acquisitions claims
claimissues tinyint(1) NOT NULL DEFAULT 0, -- should this contact receive serial claims
acqprimary tinyint(1) NOT NULL DEFAULT 0, -- is this the primary contact for acquisitions messages
serialsprimary tinyint(1) NOT NULL DEFAULT 0, -- is this the primary contact for serials messages
booksellerid int(11) not NULL,
PRIMARY KEY (id),
CONSTRAINT booksellerid_aqcontacts_fk FOREIGN KEY (booksellerid)
@ -3105,7 +3105,7 @@ CREATE TABLE IF NOT EXISTS edifact_messages (
basketno INT(11) REFERENCES aqbasket( basketno),
raw_msg LONGTEXT,
filename MEDIUMTEXT,
deleted BOOLEAN NOT NULL DEFAULT 0,
deleted tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (id),
KEY vendorid ( vendor_id),
KEY ediacct (edi_acct),