Bug 16402: Make kohastructure.sql valid for MySQL v5.7
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 5 May 2016 14:14:51 +0000 (15:14 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Mon, 16 May 2016 17:07:28 +0000 (17:07 +0000)
A primary key should not contain null value, and MySQL v5.7 is now more
strict and won't accept our errors in the DB structure.

Test plan:
  mysql < installer/data/mysql/kohastructure.sql
should work using MySQL v5.7

QA:
- letter.branchcode should not be NULL, the default (all) is an empty
string
- permissions.code should not be NULL, it's always a string

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Clean install of Ubuntu 16.05, MySQL 5.7.11
kohastructure.sql loads ok, just one warning
No errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
installer/data/mysql/kohastructure.sql

index 1d3b3d6..12aa8d8 100644 (file)
@@ -1428,7 +1428,7 @@ DROP TABLE IF EXISTS `letter`;
 CREATE TABLE `letter` ( -- table for all notice templates in Koha
   `module` varchar(20) NOT NULL default '', -- Koha module that triggers this notice or slip
   `code` varchar(20) NOT NULL default '', -- unique identifier for this notice or slip
-  `branchcode` varchar(10) default NULL, -- the branch this notice or slip is used at (branches.branchcode)
+  `branchcode` varchar(10) NOT NULL default '', -- the branch this notice or slip is used at (branches.branchcode)
   `name` varchar(100) NOT NULL default '', -- plain text name for this notice or slip
   `is_html` tinyint(1) default 0, -- does this notice or slip use HTML (1 for yes, 0 for no)
   `title` varchar(200) NOT NULL default '', -- subject line of the notice
@@ -2577,7 +2577,7 @@ CREATE TABLE language_script_mapping (
 DROP TABLE IF EXISTS `permissions`;
 CREATE TABLE `permissions` (
   `module_bit` int(11) NOT NULL DEFAULT 0,
-  `code` varchar(64) DEFAULT NULL,
+  `code` varchar(64) NOT NULL DEFAULT '',
   `description` varchar(255) DEFAULT NULL,
   PRIMARY KEY  (`module_bit`, `code`),
   CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`)