Bugzilla – Attachment 145650 Details for
Bug 8628
Add digital signs to the OPAC
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8628: (follow-up) Use utf8mb4 and TableExists in atomic update
Bug-8628-follow-up-Use-utf8mb4-and-TableExists-in-.patch (text/plain), 8.48 KB, created by
Aleisha Amohia
on 2023-01-25 02:53:00 UTC
(
hide
)
Description:
Bug 8628: (follow-up) Use utf8mb4 and TableExists in atomic update
Filename:
MIME Type:
Creator:
Aleisha Amohia
Created:
2023-01-25 02:53:00 UTC
Size:
8.48 KB
patch
obsolete
>From ca253517fd75da1074745dcbc153f1862b6665cc Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Tue, 25 Feb 2020 22:31:38 +0000 >Subject: [PATCH] Bug 8628: (follow-up) Use utf8mb4 and TableExists in atomic > update > >--- > .../mysql/atomicupdate/bug_8628-digital-signs.perl | 70 ++++++++++++---------- > installer/data/mysql/kohastructure.sql | 6 +- > 2 files changed, 43 insertions(+), 33 deletions(-) > >diff --git a/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl b/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl >index 54e24c141a4..b496e31c9a3 100644 >--- a/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl >+++ b/installer/data/mysql/atomicupdate/bug_8628-digital-signs.perl >@@ -1,36 +1,46 @@ > $DBversion = 'XXX'; > if( CheckVersion( $DBversion ) ) { >- $dbh->do(q{DROP TABLE IF EXISTS sign_streams }); >- $dbh->do(q{DROP TABLE IF EXISTS signs }); >- $dbh->do(q{CREATE TABLE sign_streams ( >- sign_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify streams >- saved_sql_id int(11) NOT NULL, -- foreign key from the saved_sql table >- name varchar(64), -- name/title of the sign >- PRIMARY KEY (sign_stream_id), >- CONSTRAINT sign_streams_ibfk_1 FOREIGN KEY (saved_sql_id) REFERENCES saved_sql (id) ON DELETE CASCADE >- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); >- $dbh->do(q{CREATE TABLE signs ( >- sign_id int(11) NOT NULL auto_increment, -- primary key, used to identify signs >- name varchar(64), -- name/title of the deck >- webapp int(1) NOT NULL DEFAULT 0, -- display as web app or normal page >- transition char(16) NOT NULL DEFAULT 'none', -- transition to use between pages, must be one of the transitions defined by jQuery Mobile (see their docs) >- swatch char(1) NOT NULL DEFAULT '', -- swatches determine the colors of page elements >- idleafter int(11) NOT NULL default 0, -- seconds to wait before automatic page turning cicks in >- pagedelay int(11) NOT NULL default 0, -- seconds to wait before turning to a new page/record >- reloadafter int(11) NOT NULL default 0, -- seconds to wait before reloading all the pages >- PRIMARY KEY (sign_id) >- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); >+ if( TableExists('sign_streams') ){ >+ $dbh->do(q{ ALTER TABLE sign_streams CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci }); >+ } else { >+ $dbh->do(q{ CREATE TABLE sign_streams ( >+ sign_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify streams >+ saved_sql_id int(11) NOT NULL, -- foreign key from the saved_sql table >+ name varchar(64), -- name/title of the sign >+ PRIMARY KEY (sign_stream_id), >+ CONSTRAINT sign_streams_ibfk_1 FOREIGN KEY (saved_sql_id) REFERENCES saved_sql (id) ON DELETE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci }); >+ } > >- $dbh->do(q{DROP TABLE IF EXISTS signs_to_streams }); >- $dbh->do(q{CREATE TABLE signs_to_streams ( >- sign_to_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify connections between signs and streams (the same stream can be attached to a sign more than once, with different parameters) >- sign_stream_id int(11) NOT NULL, -- foreign key from the decks sign_streams table >- sign_id int(11) NOT NULL, -- foreign key from the signs table >- params varchar(255) NOT NULL DEFAULT '', -- list of parameters for the SQL associated with the sign_stream >- PRIMARY KEY (sign_to_stream_id), >- CONSTRAINT signs_to_streams_ibfk_1 FOREIGN KEY (sign_stream_id) REFERENCES sign_streams (sign_stream_id) ON DELETE CASCADE, >- CONSTRAINT signs_to_streams_ibfk_2 FOREIGN KEY (sign_id) REFERENCES signs (sign_id) ON DELETE CASCADE >- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 }); >+ if( TableExists('signs') ){ >+ $dbh->do(q{ ALTER TABLE signs CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci }); >+ } else { >+ $dbh->do(q{ CREATE TABLE signs ( >+ sign_id int(11) NOT NULL auto_increment, -- primary key, used to identify signs >+ name varchar(64), -- name/title of the deck >+ webapp int(1) NOT NULL DEFAULT 0, -- display as web app or normal page >+ transition char(16) NOT NULL DEFAULT 'none', -- transition to use between pages, must be one of the transitions defined by jQuery Mobile (see their docs) >+ swatch char(1) NOT NULL DEFAULT '', -- swatches determine the colors of page elements >+ idleafter int(11) NOT NULL default 0, -- seconds to wait before automatic page turning cicks in >+ pagedelay int(11) NOT NULL default 0, -- seconds to wait before turning to a new page/record >+ reloadafter int(11) NOT NULL default 0, -- seconds to wait before reloading all the pages >+ PRIMARY KEY (sign_id) >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci }); >+ } >+ >+ if( TableExists('signs_to_streams') ){ >+ $dbh->do(q{ ALTER TABLE signs_to_streams CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci }); >+ } else { >+ $dbh->do(q{ CREATE TABLE signs_to_streams ( >+ sign_to_stream_id int(11) NOT NULL auto_increment, -- primary key, used to identify connections between signs and streams (the same stream can be attached to a sign more than once, with different parameters) >+ sign_stream_id int(11) NOT NULL, -- foreign key from the decks sign_streams table >+ sign_id int(11) NOT NULL, -- foreign key from the signs table >+ params varchar(255) NOT NULL DEFAULT '', -- list of parameters for the SQL associated with the sign_stream >+ PRIMARY KEY (sign_to_stream_id), >+ CONSTRAINT signs_to_streams_ibfk_1 FOREIGN KEY (sign_stream_id) REFERENCES sign_streams (sign_stream_id) ON DELETE CASCADE, >+ CONSTRAINT signs_to_streams_ibfk_2 FOREIGN KEY (sign_id) REFERENCES signs (sign_id) ON DELETE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci }); >+ } > > SetVersion( $DBversion ); > print "Upgrade to $DBversion done (Bug 8628 - add signs, sign_streams and signs_to_streams tables)\n"; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index cdf59298974..40672412469 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -6004,7 +6004,7 @@ CREATE TABLE sign_streams ( > `name` varchar(64), -- name/title of the sign > PRIMARY KEY (`sign_stream_id`), > CONSTRAINT `sign_streams_ibfk_1` FOREIGN KEY (`saved_sql_id`) REFERENCES `saved_sql` (`id`) ON DELETE CASCADE >-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > > -- > -- Table structure for table 'signs' >@@ -6021,7 +6021,7 @@ CREATE TABLE signs ( > `pagedelay` int(11) NOT NULL default 0, -- seconds to wait before turning to a new page/record > `reloadafter` int(11) NOT NULL default 0, -- seconds to wait before reloading all the pages > PRIMARY KEY (`sign_id`) >-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > > -- > -- Table structure for table 'signs_to_streams' >@@ -6036,7 +6036,7 @@ CREATE TABLE signs_to_streams ( > PRIMARY KEY (`sign_to_stream_id`), > CONSTRAINT `signs_to_streams_ibfk_1` FOREIGN KEY (`sign_stream_id`) REFERENCES `sign_streams` (`sign_stream_id`) ON DELETE CASCADE, > CONSTRAINT `signs_to_streams_ibfk_2` FOREIGN KEY (`sign_id`) REFERENCES `signs` (`sign_id`) ON DELETE CASCADE >-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; >+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > > /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; > >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8628
:
42703
|
42704
|
45968
|
45969
|
58602
|
58603
|
58604
|
58605
|
62338
|
64249
|
66246
|
66247
|
66248
|
66249
|
66250
|
77025
|
77026
|
77027
|
77028
|
77141
|
77142
|
77143
|
77144
|
77145
|
78709
|
80248
|
80249
|
80250
|
80252
|
82896
|
82897
|
82898
|
82899
|
82900
|
82901
|
83312
|
88821
|
88822
|
88823
|
88824
|
88825
|
88826
|
93054
|
93055
|
93056
|
93057
|
93058
|
93059
|
93066
|
93067
|
93068
|
93069
|
93070
|
93071
|
99608
|
99609
|
99610
|
99611
|
99612
|
99613
|
99614
|
99615
|
99616
|
99617
|
99618
|
99619
|
99620
|
99621
|
99622
|
99623
|
99624
|
99717
|
99718
|
99801
|
118472
|
118473
|
118474
|
118475
|
118476
|
118477
|
118478
|
118479
|
118480
|
119455
|
131223
|
131224
|
145645
|
145646
|
145647
|
145648
|
145649
|
145650
|
145651
|
145652
|
145653
|
145654
|
147000
|
147001
|
147002
|
147003
|
147004
|
147005
|
147006
|
147007
|
147008
|
147009
|
147010