From 3be337e265134e37bcde8c243cab61304bb3be63 Mon Sep 17 00:00:00 2001 From: Petter Helset Date: Thu, 26 Oct 2017 14:45:26 +0200 Subject: [PATCH] Migrations for existing messagedbs to utf8mb4 --- .../19_convert_database_to_utf8mb4.rb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/postal/message_db/migrations/19_convert_database_to_utf8mb4.rb diff --git a/lib/postal/message_db/migrations/19_convert_database_to_utf8mb4.rb b/lib/postal/message_db/migrations/19_convert_database_to_utf8mb4.rb new file mode 100644 index 0000000..da62762 --- /dev/null +++ b/lib/postal/message_db/migrations/19_convert_database_to_utf8mb4.rb @@ -0,0 +1,26 @@ +module Postal + module MessageDB + module Migrations + class ConvertDatabaseToUtf8mb4 < Postal::MessageDB::Migration + def up + @database.query("ALTER DATABASE `#{@database.database_name}` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`clicks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`deliveries` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`links` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`live_stats` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`loads` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`messages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`migrations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`raw_message_sizes` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`spam_checks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`stats_daily` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`stats_hourly` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`stats_monthly` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`stats_yearly` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`suppressions` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + @database.query("ALTER TABLE `#{@database.database_name}`.`webhook_requests` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin") + end + end + end + end +end