Bug 12446: (QA follow-up) Minor kohastructure.sql fix
[koha.git] / installer / data / mysql / db_revs / 210600012.pl
1 use Modern::Perl;
2
3 return {
4     bug_number => "15067",
5     description => "Add missing languages",
6     up => sub {
7         my ($args) = @_;
8         my $dbh = $args->{dbh};
9
10         if( !unique_key_exists( 'language_subtag_registry', 'uniq_lang' ) ) {
11
12             $dbh->do(q{
13                 DELETE a
14                 FROM language_subtag_registry AS a, language_subtag_registry AS b
15                 WHERE a.id < b.id
16                 AND a.subtag IS NOT NULL
17                 AND a.subtag=b.subtag
18                 AND a.type=b.type
19             });
20             $dbh->do(q{
21                 ALTER TABLE language_subtag_registry
22                 ADD UNIQUE KEY uniq_lang (subtag, type)
23             });
24         };
25
26         if( !unique_key_exists( 'language_descriptions', 'uniq_desc' ) ) {
27
28             $dbh->do(q{
29                 DELETE a
30                 FROM language_descriptions AS a, language_descriptions AS b
31                 WHERE a.id < b.id
32                 AND a.subtag IS NOT NULL
33                 AND a.subtag=b.subtag
34                 AND a.lang IS NOT NULL
35                 AND a.lang=b.lang
36                 AND a.type=b.type
37             });
38             $dbh->do(q{
39                 ALTER TABLE language_descriptions
40                 ADD UNIQUE KEY uniq_desc (subtag, type, lang)
41             });
42         };
43
44         if( !unique_key_exists( 'language_rfc4646_to_iso639', 'uniq_code' ) ) {
45
46             $dbh->do(q{
47                 DELETE a
48                 FROM language_rfc4646_to_iso639 AS a, language_rfc4646_to_iso639 AS b
49                 WHERE a.id < b.id
50                 AND a.rfc4646_subtag IS NOT NULL
51                 AND a.rfc4646_subtag=b.rfc4646_subtag
52                 AND a.iso639_2_code=b.iso639_2_code
53             });
54             $dbh->do(q{
55                 ALTER TABLE language_rfc4646_to_iso639
56                 ADD UNIQUE KEY uniq_code (rfc4646_subtag, iso639_2_code)
57             });
58         };
59
60         $dbh->do(q{
61             INSERT IGNORE INTO language_subtag_registry (subtag, type, description, added)
62             VALUES
63             ('et', 'language', 'Estonian', now()),
64             ('lv', 'language', 'Latvian', now()),
65             ('lt', 'language', 'Lithuanian', now()),
66             ('iu', 'language', 'Inuktitut', now()),
67             ('ik', 'language', 'Inupiaq', now())
68         });
69
70         $dbh->do(q{
71             INSERT IGNORE INTO language_descriptions (subtag, type, lang, description)
72             VALUES
73             ('et', 'language', 'en', 'Estonian'),
74             ('et', 'language', 'et', 'Eesti'),
75             ('lv', 'language', 'en', 'Latvian'),
76             ('lv', 'language', 'lv', 'Latvija'),
77             ('lt', 'language', 'en', 'Lithuanian'),
78             ('lt', 'language', 'lt', 'Lietuvių'),
79             ('iu', 'language', 'en', 'Inuktitut'),
80             ('iu', 'language', 'iu', 'ᐃᓄᒃᑎᑐᑦ'),
81             ('ik', 'language', 'en', 'Inupiaq'),
82             ('ik', 'language', 'ik', 'Iñupiaq')
83         });
84
85         $dbh->do(q{
86             INSERT IGNORE INTO language_rfc4646_to_iso639 (rfc4646_subtag, iso639_2_code)
87             VALUES
88             ('et', 'est'),
89             ('lv', 'lav'),
90             ('lt', 'lit'),
91             ('iu', 'iku'),
92             ('ik', 'ipk')
93         });
94     },
95 }