Tomas Cohen Arazi
d5257fd99a
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
95 lines
3.2 KiB
Perl
Executable file
95 lines
3.2 KiB
Perl
Executable file
use Modern::Perl;
|
|
|
|
return {
|
|
bug_number => "15067",
|
|
description => "Add missing languages",
|
|
up => sub {
|
|
my ($args) = @_;
|
|
my $dbh = $args->{dbh};
|
|
|
|
if( !unique_key_exists( 'language_subtag_registry', 'uniq_lang' ) ) {
|
|
|
|
$dbh->do(q{
|
|
DELETE a
|
|
FROM language_subtag_registry AS a, language_subtag_registry AS b
|
|
WHERE a.id < b.id
|
|
AND a.subtag IS NOT NULL
|
|
AND a.subtag=b.subtag
|
|
AND a.type=b.type
|
|
});
|
|
$dbh->do(q{
|
|
ALTER TABLE language_subtag_registry
|
|
ADD UNIQUE KEY uniq_lang (subtag, type)
|
|
});
|
|
};
|
|
|
|
if( !unique_key_exists( 'language_descriptions', 'uniq_desc' ) ) {
|
|
|
|
$dbh->do(q{
|
|
DELETE a
|
|
FROM language_descriptions AS a, language_descriptions AS b
|
|
WHERE a.id < b.id
|
|
AND a.subtag IS NOT NULL
|
|
AND a.subtag=b.subtag
|
|
AND a.lang IS NOT NULL
|
|
AND a.lang=b.lang
|
|
AND a.type=b.type
|
|
});
|
|
$dbh->do(q{
|
|
ALTER TABLE language_descriptions
|
|
ADD UNIQUE KEY uniq_desc (subtag, type, lang)
|
|
});
|
|
};
|
|
|
|
if( !unique_key_exists( 'language_rfc4646_to_iso639', 'uniq_code' ) ) {
|
|
|
|
$dbh->do(q{
|
|
DELETE a
|
|
FROM language_rfc4646_to_iso639 AS a, language_rfc4646_to_iso639 AS b
|
|
WHERE a.id < b.id
|
|
AND a.rfc4646_subtag IS NOT NULL
|
|
AND a.rfc4646_subtag=b.rfc4646_subtag
|
|
AND a.iso639_2_code=b.iso639_2_code
|
|
});
|
|
$dbh->do(q{
|
|
ALTER TABLE language_rfc4646_to_iso639
|
|
ADD UNIQUE KEY uniq_code (rfc4646_subtag, iso639_2_code)
|
|
});
|
|
};
|
|
|
|
$dbh->do(q{
|
|
INSERT IGNORE INTO language_subtag_registry (subtag, type, description, added)
|
|
VALUES
|
|
('et', 'language', 'Estonian', now()),
|
|
('lv', 'language', 'Latvian', now()),
|
|
('lt', 'language', 'Lithuanian', now()),
|
|
('iu', 'language', 'Inuktitut', now()),
|
|
('ik', 'language', 'Inupiaq', now())
|
|
});
|
|
|
|
$dbh->do(q{
|
|
INSERT IGNORE INTO language_descriptions (subtag, type, lang, description)
|
|
VALUES
|
|
('et', 'language', 'en', 'Estonian'),
|
|
('et', 'language', 'et', 'Eesti'),
|
|
('lv', 'language', 'en', 'Latvian'),
|
|
('lv', 'language', 'lv', 'Latvija'),
|
|
('lt', 'language', 'en', 'Lithuanian'),
|
|
('lt', 'language', 'lt', 'Lietuvių'),
|
|
('iu', 'language', 'en', 'Inuktitut'),
|
|
('iu', 'language', 'iu', 'ᐃᓄᒃᑎᑐᑦ'),
|
|
('ik', 'language', 'en', 'Inupiaq'),
|
|
('ik', 'language', 'ik', 'Iñupiaq')
|
|
});
|
|
|
|
$dbh->do(q{
|
|
INSERT IGNORE INTO language_rfc4646_to_iso639 (rfc4646_subtag, iso639_2_code)
|
|
VALUES
|
|
('et', 'est'),
|
|
('lv', 'lav'),
|
|
('lt', 'lit'),
|
|
('iu', 'iku'),
|
|
('ik', 'ipk')
|
|
});
|
|
},
|
|
}
|