@@ -, +, @@ key --- .../data/mysql/atomicupdate/bug_29605.pl | 27 +++++++++++++++++++ installer/data/mysql/kohastructure.sql | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 installer/data/mysql/atomicupdate/bug_29605.pl --- a/installer/data/mysql/atomicupdate/bug_29605.pl +++ a/installer/data/mysql/atomicupdate/bug_29605.pl @@ -0,0 +1,27 @@ +use Modern::Perl; + +return { + bug_number => "29605", + description => "Add language_script_mapping primary key", + up => sub { + my ($args) = @_; + my ($dbh) = @$args{qw(dbh)}; + + if ( !primary_key_exists( 'language_script_mapping', 'language_subtag' ) + and index_exists( 'language_script_mapping', 'language_subtag' ) ) { + + $dbh->do(q{ + ALTER TABLE language_script_mapping + DROP KEY `language_subtag`; + }); + } + + if ( !primary_key_exists( 'language_script_mapping', 'language_subtag' ) ) { + + $dbh->do(q{ + ALTER TABLE language_script_mapping + ADD PRIMARY KEY `language_subtag` (`language_subtag`); + }); + } + }, +} --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -3261,7 +3261,7 @@ DROP TABLE IF EXISTS `language_script_mapping`; CREATE TABLE `language_script_mapping` ( `language_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `script_subtag` varchar(25) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - KEY `language_subtag` (`language_subtag`) + PRIMARY KEY `language_subtag` (`language_subtag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; --