Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate the remaining database tables and columns to utf8mb4 #14597

Merged
merged 4 commits into from Aug 3, 2023

Conversation

hellcp-work
Copy link
Contributor

@hellcp-work hellcp-work commented Jul 3, 2023

The current database is a mixture of utf8mb3 and utf8mb4, which happens to bring up some issues with encoding characters from time to time. In order to actually fix this and avoid any encoding issues in the future (until we move to utf1024 or something) we need to change database charset and collation of everything that isn't currently utf8mb4.

These migrations will require downtime.

Fixes #14411

@github-actions github-actions bot added Frontend Things related to the OBS RoR app Test Suite / CI 💉 Things related to our tests/CI labels Jul 3, 2023
@hellcp-work hellcp-work added DO NOT MERGE ⚠️ Explain yourself if you add/remove this label to a PR Test Suite / CI 💉 Things related to our tests/CI and removed Test Suite / CI 💉 Things related to our tests/CI labels Jul 3, 2023
@hennevogel hennevogel added the Reference Server 🖥️ Things related to build.opensuse.org label Jul 3, 2023
@hellcp-work
Copy link
Contributor Author

I ran this migration on a copy of the reference server a few times, and here are the results after tweaks:

> time rails db:migrate
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
== 20230703141433 MigrateToUtf8mb4: migrating =================================
[strong_migrations] DANGER: Lock timeout is longer than 10 seconds: 86400
-- execute("ALTER TABLE `commit_activities` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 71.4752s
-- execute("ALTER TABLE `flipper_features` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 0.0478s
-- execute("ALTER TABLE `flipper_gates` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 0.0461s
-- execute("ALTER TABLE `architectures` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0337s
-- execute("ALTER TABLE `attrib_namespaces` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0320s
-- execute("ALTER TABLE `attrib_types` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0542s
-- execute("ALTER TABLE `attrib_types` MODIFY `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0262s
-- execute("ALTER TABLE `attrib_types` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0268s
-- execute("ALTER TABLE `attribs` MODIFY `binary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0710s
-- execute("ALTER TABLE `backend_infos` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0281s
-- execute("ALTER TABLE `backend_infos` MODIFY `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0272s
-- execute("ALTER TABLE `backend_packages` MODIFY `srcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0296s
-- execute("ALTER TABLE `backend_packages` MODIFY `changesmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0446s
-- execute("ALTER TABLE `backend_packages` MODIFY `verifymd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0267s
-- execute("ALTER TABLE `backend_packages` MODIFY `expandedmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0273s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 396.2428s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_disturl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1401s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_supportstatus` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0635s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_maintainer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0608s
-- execute("ALTER TABLE `binary_releases` MODIFY `medium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 237.3423s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_updateinfo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 120.2562s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_updateinfo_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0596s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 106.8860s
-- execute("ALTER TABLE `binary_releases` MODIFY `flavor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0691s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_cpeid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0592s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `rev` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0609s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `srcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0589s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `xsrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0597s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `osrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0610s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `oxsrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0595s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `oproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1199s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `opackage` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0679s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0610s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 8.2019s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 4.5727s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_releaseproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0603s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.7579s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 4.4442s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_rev` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0757s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `sourceupdate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0610s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `person_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0586s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0575s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0584s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_repository` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0579s
-- execute("ALTER TABLE `bs_requests` MODIFY `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.3684s
-- execute("ALTER TABLE `bs_requests` MODIFY `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.1107s
-- execute("ALTER TABLE `bs_requests` MODIFY `commenter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0598s
-- execute("ALTER TABLE `bs_requests` MODIFY `priority` enum('critical','important','moderate','low') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'moderate'")
   -> 25.2681s
-- execute("ALTER TABLE `cloud_azure_configurations` MODIFY `application_id` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0614s
-- execute("ALTER TABLE `cloud_azure_configurations` MODIFY `application_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0580s
-- execute("ALTER TABLE `cloud_ec2_configurations` MODIFY `external_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0844s
-- execute("ALTER TABLE `cloud_ec2_configurations` MODIFY `arn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0774s
-- execute("ALTER TABLE `comments` MODIFY `commentable_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 1.0898s
-- execute("ALTER TABLE `commit_activities` MODIFY `project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0621s
-- execute("ALTER TABLE `commit_activities` MODIFY `package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0600s
-- execute("ALTER TABLE `configurations` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT ''")
   -> 0.0612s
-- execute("ALTER TABLE `configurations` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT ''")
   -> 0.0593s
-- execute("ALTER TABLE `configurations` MODIFY `registration` enum('allow','confirmation','deny') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'allow'")
   -> 0.1765s
-- execute("ALTER TABLE `configurations` MODIFY `download_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0623s
-- execute("ALTER TABLE `configurations` MODIFY `ymp_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0595s
-- execute("ALTER TABLE `configurations` MODIFY `bugzilla_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0600s
-- execute("ALTER TABLE `configurations` MODIFY `http_proxy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0599s
-- execute("ALTER TABLE `configurations` MODIFY `no_proxy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0595s
-- execute("ALTER TABLE `configurations` MODIFY `theme` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0670s
-- execute("ALTER TABLE `configurations` MODIFY `obs_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'https://unconfigured.openbuildservice.org'")
   -> 0.0577s
-- execute("ALTER TABLE `configurations` MODIFY `admin_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'unconfigured@openbuildservice.org'")
   -> 0.0619s
-- execute("ALTER TABLE `configurations` MODIFY `default_tracker` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'bnc'")
   -> 0.0653s
-- execute("ALTER TABLE `configurations` MODIFY `api_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0586s
-- execute("ALTER TABLE `configurations` MODIFY `unlisted_projects_filter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '^home:.+'")
   -> 0.0610s
-- execute("ALTER TABLE `configurations` MODIFY `unlisted_projects_filter_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'home projects'")
   -> 0.0811s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `handler` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0614s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `locked_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0609s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `queue` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1283s
-- execute("ALTER TABLE `distribution_icons` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0635s
-- execute("ALTER TABLE `distributions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT")
   -> 0.0573s
-- execute("ALTER TABLE `distributions` MODIFY `vendor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0616s
-- execute("ALTER TABLE `distributions` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0618s
-- execute("ALTER TABLE `distributions` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0583s
-- execute("ALTER TABLE `distributions` MODIFY `project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0602s
-- execute("ALTER TABLE `distributions` MODIFY `reponame` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0598s
-- execute("ALTER TABLE `distributions` MODIFY `repository` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0607s
-- execute("ALTER TABLE `distributions` MODIFY `link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0687s
-- execute("ALTER TABLE `download_repositories` MODIFY `arch` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0640s
-- execute("ALTER TABLE `download_repositories` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0589s
-- execute("ALTER TABLE `download_repositories` MODIFY `repotype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0575s
-- execute("ALTER TABLE `download_repositories` MODIFY `archfilter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0605s
-- execute("ALTER TABLE `download_repositories` MODIFY `masterurl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0586s
-- execute("ALTER TABLE `download_repositories` MODIFY `mastersslfingerprint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1256s
-- execute("ALTER TABLE `download_repositories` MODIFY `pubkey` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0618s
-- execute("ALTER TABLE `event_subscriptions` MODIFY `eventtype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0638s
-- execute("ALTER TABLE `event_subscriptions` MODIFY `receiver_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0606s
-- execute("ALTER TABLE `events` MODIFY `eventtype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.6367s
-- execute("ALTER TABLE `flags` MODIFY `status` enum('enable','disable') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 5.4905s
-- execute("ALTER TABLE `flags` MODIFY `repo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0757s
-- execute("ALTER TABLE `flags` MODIFY `flag` enum('useforbuild','sourceaccess','binarydownload','debuginfo','build','publish','access','lock') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 4.3233s
-- execute("ALTER TABLE `flipper_features` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0571s
-- execute("ALTER TABLE `flipper_gates` MODIFY `feature_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0597s
-- execute("ALTER TABLE `flipper_gates` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0584s
-- execute("ALTER TABLE `flipper_gates` MODIFY `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.1315s
-- execute("ALTER TABLE `groups` MODIFY `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0782s
-- execute("ALTER TABLE `groups` MODIFY `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0605s
-- execute("ALTER TABLE `history_elements` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 85.5986s
-- execute("ALTER TABLE `history_elements` MODIFY `description_extension` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0574s
-- execute("ALTER TABLE `issue_trackers` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0614s
-- execute("ALTER TABLE `issue_trackers` MODIFY `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0679s
-- execute("ALTER TABLE `issue_trackers` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0583s
-- execute("ALTER TABLE `issue_trackers` MODIFY `show_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0578s
-- execute("ALTER TABLE `issue_trackers` MODIFY `regex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0784s
-- execute("ALTER TABLE `issue_trackers` MODIFY `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0590s
-- execute("ALTER TABLE `issue_trackers` MODIFY `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0595s
-- execute("ALTER TABLE `issue_trackers` MODIFY `label` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0569s
-- execute("ALTER TABLE `issues` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 1.6056s
-- execute("ALTER TABLE `issues` MODIFY `summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0609s
-- execute("ALTER TABLE `issues` MODIFY `state` enum('OPEN','CLOSED','UNKNOWN') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 6.7202s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0596s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0566s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0602s
-- execute("ALTER TABLE `kiwi_images` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1093s
-- execute("ALTER TABLE `kiwi_images` MODIFY `md5_last_revision` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0587s
-- execute("ALTER TABLE `kiwi_package_groups` MODIFY `profiles` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0599s
-- execute("ALTER TABLE `kiwi_package_groups` MODIFY `pattern_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0594s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0608s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `arch` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0587s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `replaces` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0588s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `type_containerconfig_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0675s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `type_containerconfig_tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0595s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0779s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `repo_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0608s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `source_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0603s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0576s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0601s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0583s
-- execute("ALTER TABLE `linked_projects` MODIFY `linked_remote_project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0937s
-- execute("ALTER TABLE `linked_projects` MODIFY `vrevmode` enum('standard','unextend','extend') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'standard'")
   -> 0.1327s
-- execute("ALTER TABLE `maintenance_incidents` MODIFY `updateinfo_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0611s
-- execute("ALTER TABLE `notifications` MODIFY `event_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0613s
-- execute("ALTER TABLE `notifications` MODIFY `subscription_receiver_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0596s
-- execute("ALTER TABLE `notifications` MODIFY `subscriber_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 19.6490s
-- execute("ALTER TABLE `notifications` MODIFY `bs_request_oldstate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0618s
-- execute("ALTER TABLE `notifications` MODIFY `bs_request_state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0616s
-- execute("ALTER TABLE `notifications` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0649s
-- execute("ALTER TABLE `package_kinds` MODIFY `kind` enum('patchinfo','aggregate','link','channel','product') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 1.7038s
-- execute("ALTER TABLE `packages` MODIFY `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 15.2982s
-- execute("ALTER TABLE `packages` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1877s
-- execute("ALTER TABLE `packages` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0621s
-- execute("ALTER TABLE `packages` MODIFY `bcntsynctag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0670s
-- execute("ALTER TABLE `packages` MODIFY `releasename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0625s
-- execute("ALTER TABLE `product_media` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1068s
-- execute("ALTER TABLE `products` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0892s
-- execute("ALTER TABLE `products` MODIFY `cpe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0736s
-- execute("ALTER TABLE `products` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0667s
-- execute("ALTER TABLE `products` MODIFY `baseversion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0633s
-- execute("ALTER TABLE `products` MODIFY `patchlevel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0657s
-- execute("ALTER TABLE `products` MODIFY `release` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0817s
-- execute("ALTER TABLE `project_log_entries` MODIFY `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 116.0068s
-- execute("ALTER TABLE `project_log_entries` MODIFY `package_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 129.4181s
-- execute("ALTER TABLE `project_log_entries` MODIFY `event_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 207.4037s
-- execute("ALTER TABLE `projects` MODIFY `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 1.5394s
-- execute("ALTER TABLE `projects` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0743s
-- execute("ALTER TABLE `projects` MODIFY `remoteurl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0659s
-- execute("ALTER TABLE `projects` MODIFY `remoteproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0823s
-- execute("ALTER TABLE `projects` MODIFY `kind` enum('standard','maintenance','maintenance_incident','maintenance_release') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'standard'")
   -> 1.3367s
-- execute("ALTER TABLE `projects` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0865s
-- execute("ALTER TABLE `repositories` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0686s
-- execute("ALTER TABLE `repositories` MODIFY `remote_project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ''")
   -> 0.0627s
-- execute("ALTER TABLE `repositories` MODIFY `rebuild` enum('transitive','direct','local') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 1.8103s
-- execute("ALTER TABLE `repositories` MODIFY `block` enum('all','local','never') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 1.5199s
-- execute("ALTER TABLE `reviews` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT")
   -> 0.0677s
-- execute("ALTER TABLE `reviews` MODIFY `bs_request_id` int(11) DEFAULT NULL")
   -> 0.0622s
-- execute("ALTER TABLE `reviews` MODIFY `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 8.5793s
-- execute("ALTER TABLE `reviews` MODIFY `reviewer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 10.5197s
-- execute("ALTER TABLE `reviews` MODIFY `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 23.6740s
-- execute("ALTER TABLE `reviews` MODIFY `by_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 14.8856s
-- execute("ALTER TABLE `reviews` MODIFY `by_group` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 17.5166s
-- execute("ALTER TABLE `reviews` MODIFY `by_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 19.7801s
-- execute("ALTER TABLE `reviews` MODIFY `by_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 8.6157s
-- execute("ALTER TABLE `roles` MODIFY `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0762s
-- execute("ALTER TABLE `sessions` MODIFY `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0697s
-- execute("ALTER TABLE `static_permissions` MODIFY `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0690s
-- execute("ALTER TABLE `status_histories` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.7617s
-- execute("ALTER TABLE `tokens` MODIFY `string` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0924s
-- execute("ALTER TABLE `tokens` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0792s
-- execute("ALTER TABLE `user_registrations` MODIFY `token` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0609s
-- execute("ALTER TABLE `users` MODIFY `login` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 1.8463s
-- execute("ALTER TABLE `users` MODIFY `email` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0707s
-- execute("ALTER TABLE `users` MODIFY `realname` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0615s
-- execute("ALTER TABLE `users` MODIFY `password_digest` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0634s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0596s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password_hash_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0606s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password_salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0658s
-- execute("ALTER TABLE `users` MODIFY `state` enum('unconfirmed','confirmed','locked','deleted','subaccount') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'unconfirmed'")
   -> 1.6741s
== 20230703141433 MigrateToUtf8mb4: migrated (1710.0393s) =====================


warning: db:migrate only migrates your database structure, not the data contained in it.
warning for migrating your data run data:migrate


real	28m33.496s
user	0m2.290s
sys	0m0.848s

@hellcp-work
Copy link
Contributor Author

Migration tested with this new commit on the production database copy

> time rails db:migrate
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
== 20230703141433 MigrateToUtf8mb4: migrating =================================
[strong_migrations] DANGER: Lock timeout is longer than 10 seconds: 86400
-- execute("ALTER TABLE `commit_activities` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 55.0669s
-- execute("ALTER TABLE `flipper_features` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 0.0675s
-- execute("ALTER TABLE `flipper_gates` ROW_FORMAT=DYNAMIC CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
   -> 0.0484s
-- execute("ALTER TABLE `architectures` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.1637s
-- execute("ALTER TABLE `attrib_namespaces` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0381s
-- execute("ALTER TABLE `attrib_types` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0370s
-- execute("ALTER TABLE `attrib_types` MODIFY `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0281s
-- execute("ALTER TABLE `attrib_types` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `attribs` MODIFY `binary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0733s
-- execute("ALTER TABLE `backend_infos` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0291s
-- execute("ALTER TABLE `backend_infos` MODIFY `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0501s
-- execute("ALTER TABLE `backend_packages` MODIFY `srcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0302s
-- execute("ALTER TABLE `backend_packages` MODIFY `changesmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0282s
-- execute("ALTER TABLE `backend_packages` MODIFY `verifymd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0298s
-- execute("ALTER TABLE `backend_packages` MODIFY `expandedmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 382.9581s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_disturl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0307s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_supportstatus` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_maintainer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `binary_releases` MODIFY `medium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 210.7066s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_updateinfo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 104.0851s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_updateinfo_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 103.2207s
-- execute("ALTER TABLE `binary_releases` MODIFY `flavor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0290s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_cpeid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0283s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `rev` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0306s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `srcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0388s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `xsrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0294s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `osrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0293s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `oxsrcmd5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0284s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `oproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0279s
-- execute("ALTER TABLE `bs_request_action_accept_infos` MODIFY `opackage` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0310s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.4636s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 4.7266s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_releaseproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.3426s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 4.1587s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `source_rev` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0294s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `sourceupdate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0283s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `person_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0285s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0281s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0272s
-- execute("ALTER TABLE `bs_request_actions` MODIFY `target_repository` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0276s
-- execute("ALTER TABLE `bs_requests` MODIFY `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 4.9540s
-- execute("ALTER TABLE `bs_requests` MODIFY `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.0322s
-- execute("ALTER TABLE `bs_requests` MODIFY `commenter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0431s
-- execute("ALTER TABLE `bs_requests` MODIFY `priority` enum('critical','important','moderate','low') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'moderate'")
   -> 22.0320s
-- execute("ALTER TABLE `channel_binaries` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0349s
-- execute("ALTER TABLE `channel_binaries` MODIFY `package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0320s
-- execute("ALTER TABLE `channel_binaries` MODIFY `binaryarch` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0273s
-- execute("ALTER TABLE `channel_binaries` MODIFY `supportstatus` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0274s
-- execute("ALTER TABLE `channel_targets` MODIFY IF EXISTS `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0036s
-- execute("ALTER TABLE `channel_targets` ADD IF NOT EXISTS `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0294s
-- execute("ALTER TABLE `channel_targets` MODIFY `id_template` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0284s
-- execute("ALTER TABLE `cloud_azure_configurations` MODIFY `application_id` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0404s
-- execute("ALTER TABLE `cloud_azure_configurations` MODIFY `application_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0278s
-- execute("ALTER TABLE `cloud_ec2_configurations` MODIFY `external_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0420s
-- execute("ALTER TABLE `cloud_ec2_configurations` MODIFY `arn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0364s
-- execute("ALTER TABLE `comments` MODIFY `commentable_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.9444s
-- execute("ALTER TABLE `commit_activities` MODIFY `project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0300s
-- execute("ALTER TABLE `commit_activities` MODIFY `package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0282s
-- execute("ALTER TABLE `configurations` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT ''")
   -> 0.0293s
-- execute("ALTER TABLE `configurations` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT ''")
   -> 0.0296s
-- execute("ALTER TABLE `configurations` MODIFY `registration` enum('allow','confirmation','deny') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'allow'")
   -> 0.0636s
-- execute("ALTER TABLE `configurations` MODIFY `download_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0314s
-- execute("ALTER TABLE `configurations` MODIFY `ymp_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0286s
-- execute("ALTER TABLE `configurations` MODIFY `bugzilla_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0283s
-- execute("ALTER TABLE `configurations` MODIFY `http_proxy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0285s
-- execute("ALTER TABLE `configurations` MODIFY `no_proxy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0271s
-- execute("ALTER TABLE `configurations` MODIFY `theme` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `configurations` MODIFY `obs_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'https://unconfigured.openbuildservice.org'")
   -> 0.0277s
-- execute("ALTER TABLE `configurations` MODIFY `admin_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'unconfigured@openbuildservice.org'")
   -> 0.0504s
-- execute("ALTER TABLE `configurations` MODIFY `default_tracker` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'bnc'")
   -> 0.0289s
-- execute("ALTER TABLE `configurations` MODIFY `api_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0309s
-- execute("ALTER TABLE `configurations` MODIFY `unlisted_projects_filter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '^home:.+'")
   -> 0.0357s
-- execute("ALTER TABLE `configurations` MODIFY `unlisted_projects_filter_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'home projects'")
   -> 0.0278s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `handler` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0352s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `locked_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0260s
-- execute("ALTER TABLE `delayed_jobs` MODIFY `queue` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0317s
-- execute("ALTER TABLE `distribution_icons` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0279s
-- execute("ALTER TABLE `distributions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT")
   -> 0.0261s
-- execute("ALTER TABLE `distributions` MODIFY `vendor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `distributions` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0300s
-- execute("ALTER TABLE `distributions` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `distributions` MODIFY `project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0370s
-- execute("ALTER TABLE `distributions` MODIFY `reponame` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0283s
-- execute("ALTER TABLE `distributions` MODIFY `repository` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0290s
-- execute("ALTER TABLE `distributions` MODIFY `link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0292s
-- execute("ALTER TABLE `download_repositories` MODIFY `arch` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0334s
-- execute("ALTER TABLE `download_repositories` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `download_repositories` MODIFY `repotype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0275s
-- execute("ALTER TABLE `download_repositories` MODIFY `archfilter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0285s
-- execute("ALTER TABLE `download_repositories` MODIFY `masterurl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `download_repositories` MODIFY `mastersslfingerprint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0370s
-- execute("ALTER TABLE `download_repositories` MODIFY `pubkey` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0307s
-- execute("ALTER TABLE `event_subscriptions` MODIFY `eventtype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0309s
-- execute("ALTER TABLE `event_subscriptions` MODIFY `receiver_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0289s
-- execute("ALTER TABLE `events` MODIFY `eventtype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.5657s
-- execute("ALTER TABLE `flags` MODIFY `status` enum('enable','disable') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 4.6090s
-- execute("ALTER TABLE `flags` MODIFY `repo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0430s
-- execute("ALTER TABLE `flags` MODIFY `flag` enum('useforbuild','sourceaccess','binarydownload','debuginfo','build','publish','access','lock') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 3.6802s
-- execute("ALTER TABLE `flipper_features` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0303s
-- execute("ALTER TABLE `flipper_gates` MODIFY `feature_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `flipper_gates` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.0293s
-- execute("ALTER TABLE `flipper_gates` MODIFY `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0466s
-- execute("ALTER TABLE `groups` MODIFY `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0347s
-- execute("ALTER TABLE `groups` MODIFY `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `history_elements` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 75.2393s
-- execute("ALTER TABLE `history_elements` MODIFY `description_extension` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `issue_trackers` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `issue_trackers` MODIFY `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `issue_trackers` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0366s
-- execute("ALTER TABLE `issue_trackers` MODIFY `show_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0413s
-- execute("ALTER TABLE `issue_trackers` MODIFY `regex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0280s
-- execute("ALTER TABLE `issue_trackers` MODIFY `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0289s
-- execute("ALTER TABLE `issue_trackers` MODIFY `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0279s
-- execute("ALTER TABLE `issue_trackers` MODIFY `label` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0282s
-- execute("ALTER TABLE `issues` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 1.4282s
-- execute("ALTER TABLE `issues` MODIFY `summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0289s
-- execute("ALTER TABLE `issues` MODIFY `state` enum('OPEN','CLOSED','UNKNOWN') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 5.4296s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0294s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `kiwi_descriptions` MODIFY `specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0290s
-- execute("ALTER TABLE `kiwi_images` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0289s
-- execute("ALTER TABLE `kiwi_images` MODIFY `md5_last_revision` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0369s
-- execute("ALTER TABLE `kiwi_package_groups` MODIFY `profiles` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0292s
-- execute("ALTER TABLE `kiwi_package_groups` MODIFY `pattern_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0295s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0303s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `arch` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0298s
-- execute("ALTER TABLE `kiwi_packages` MODIFY `replaces` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `type_containerconfig_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0306s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `type_containerconfig_tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `kiwi_preferences` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0292s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `repo_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0375s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `source_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0287s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0285s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0279s
-- execute("ALTER TABLE `kiwi_repositories` MODIFY `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0283s
-- execute("ALTER TABLE `linked_projects` MODIFY `linked_remote_project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0294s
-- execute("ALTER TABLE `linked_projects` MODIFY `vrevmode` enum('standard','unextend','extend') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'standard'")
   -> 0.0531s
-- execute("ALTER TABLE `maintenance_incidents` MODIFY `updateinfo_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0295s
-- execute("ALTER TABLE `notifications` MODIFY `event_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0372s
-- execute("ALTER TABLE `notifications` MODIFY `subscription_receiver_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0288s
-- execute("ALTER TABLE `notifications` MODIFY `subscriber_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 17.3729s
-- execute("ALTER TABLE `notifications` MODIFY `bs_request_oldstate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0622s
-- execute("ALTER TABLE `notifications` MODIFY `bs_request_state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0521s
-- execute("ALTER TABLE `notifications` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0597s
-- execute("ALTER TABLE `package_kinds` MODIFY `kind` enum('patchinfo','aggregate','link','channel','product') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 1.5343s
-- execute("ALTER TABLE `packages` MODIFY `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 13.9748s
-- execute("ALTER TABLE `packages` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1093s
-- execute("ALTER TABLE `packages` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0660s
-- execute("ALTER TABLE `packages` MODIFY `bcntsynctag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0676s
-- execute("ALTER TABLE `packages` MODIFY `releasename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0666s
-- execute("ALTER TABLE `product_media` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0829s
-- execute("ALTER TABLE `products` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0854s
-- execute("ALTER TABLE `products` MODIFY `cpe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0669s
-- execute("ALTER TABLE `products` MODIFY `version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0665s
-- execute("ALTER TABLE `products` MODIFY `baseversion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.1224s
-- execute("ALTER TABLE `products` MODIFY `patchlevel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0667s
-- execute("ALTER TABLE `products` MODIFY `release` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0653s
-- execute("ALTER TABLE `project_log_entries` MODIFY `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 118.3540s
-- execute("ALTER TABLE `project_log_entries` MODIFY `package_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 128.7524s
-- execute("ALTER TABLE `project_log_entries` MODIFY `event_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 206.1845s
-- execute("ALTER TABLE `projects` MODIFY `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 1.4185s
-- execute("ALTER TABLE `projects` MODIFY `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0723s
-- execute("ALTER TABLE `projects` MODIFY `remoteurl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0627s
-- execute("ALTER TABLE `projects` MODIFY `remoteproject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0635s
-- execute("ALTER TABLE `projects` MODIFY `kind` enum('standard','maintenance','maintenance_incident','maintenance_release') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'standard'")
   -> 1.2001s
-- execute("ALTER TABLE `projects` MODIFY `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0862s
-- execute("ALTER TABLE `repositories` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL")
   -> 0.1126s
-- execute("ALTER TABLE `repositories` MODIFY `remote_project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ''")
   -> 0.0920s
-- execute("ALTER TABLE `repositories` MODIFY `rebuild` enum('transitive','direct','local') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 1.4693s
-- execute("ALTER TABLE `repositories` MODIFY `block` enum('all','local','never') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 1.7335s
-- execute("ALTER TABLE `reviews` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT")
   -> 0.0518s
-- execute("ALTER TABLE `reviews` MODIFY `bs_request_id` int(11) DEFAULT NULL")
   -> 0.0520s
-- execute("ALTER TABLE `reviews` MODIFY `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 7.9992s
-- execute("ALTER TABLE `reviews` MODIFY `reviewer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 9.9197s
-- execute("ALTER TABLE `reviews` MODIFY `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 23.1443s
-- execute("ALTER TABLE `reviews` MODIFY `by_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 13.8205s
-- execute("ALTER TABLE `reviews` MODIFY `by_group` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 17.2555s
-- execute("ALTER TABLE `reviews` MODIFY `by_project` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 18.5368s
-- execute("ALTER TABLE `reviews` MODIFY `by_package` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 8.4758s
-- execute("ALTER TABLE `roles` MODIFY `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0595s
-- execute("ALTER TABLE `sessions` MODIFY `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0717s
-- execute("ALTER TABLE `static_permissions` MODIFY `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0908s
-- execute("ALTER TABLE `status_histories` MODIFY `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.6206s
-- execute("ALTER TABLE `tokens` MODIFY `string` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0960s
-- execute("ALTER TABLE `tokens` MODIFY `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 0.0580s
-- execute("ALTER TABLE `user_registrations` MODIFY `token` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 0.0598s
-- execute("ALTER TABLE `users` MODIFY `login` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 1.8333s
-- execute("ALTER TABLE `users` MODIFY `email` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0738s
-- execute("ALTER TABLE `users` MODIFY `realname` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''")
   -> 0.0579s
-- execute("ALTER TABLE `users` MODIFY `password_digest` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0577s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0563s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password_hash_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0770s
-- execute("ALTER TABLE `users` MODIFY `deprecated_password_salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL")
   -> 0.0571s
-- execute("ALTER TABLE `users` MODIFY `state` enum('unconfirmed','confirmed','locked','deleted','subaccount') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'unconfirmed'")
   -> 1.2556s
== 20230703141433 MigrateToUtf8mb4: migrated (1601.0893s) =====================


warning: db:migrate only migrates your database structure, not the data contained in it.
warning for migrating your data run data:migrate


real	26m43.797s
user	0m2.110s
sys	0m0.655s

I have also tested the remaining columns that would remain utf8mb3 just in case. Those are unviable because of the time it would take to migrate them, mostly because of amount of rows and indexes that depend on them.

> time rails db:migrate
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
== 20230712134054 DontMigrateToUtf8mb4: migrating =============================
[strong_migrations] DANGER: Lock timeout is longer than 10 seconds: 86400
-- execute("ALTER TABLE `binary_releases` MODIFY `operation` enum('added','removed','modified') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'added'")
   -> 10617.2314s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_epoch` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 10931.9227s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 11000.6256s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_release` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 11151.9182s
-- execute("ALTER TABLE `binary_releases` MODIFY `binary_arch` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL")
   -> 11167.8217s
-- execute("ALTER TABLE `package_issues` MODIFY `change` enum('added','deleted','changed','kept') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL")
   -> 3175.2999s
== 20230712134054 DontMigrateToUtf8mb4: migrated (58044.8216s) ================


warning: db:migrate only migrates your database structure, not the data contained in it.
warning for migrating your data run data:migrate


real	967m27.839s
user	0m2.334s
sys	0m0.957s

@hellcp-work hellcp-work force-pushed the utf8mb4 branch 3 times, most recently from 25f169a to f7d764b Compare August 1, 2023 11:27
@github-actions github-actions bot removed the Test Suite / CI 💉 Things related to our tests/CI label Aug 1, 2023
@github-actions github-actions bot added the Test Suite / CI 💉 Things related to our tests/CI label Aug 1, 2023
@hellcp-work hellcp-work force-pushed the utf8mb4 branch 2 times, most recently from 086d30c to 3893dd8 Compare August 2, 2023 07:41
This commit uses utf8mb4_bin for columns where case sensitivity matters,
like when we index by a column where multiple different capitalized
versions of the same string may appear or where us fetching rows
requires case sensitivity, for instance when comparing records.
@hellcp-work hellcp-work removed the DO NOT MERGE ⚠️ Explain yourself if you add/remove this label to a PR label Aug 3, 2023
@hellcp-work hellcp-work merged commit 9135357 into openSUSE:master Aug 3, 2023
23 checks passed
@jengelh
Copy link
Contributor

jengelh commented Aug 3, 2023

until we move to utf1024 or something

(Won't happen. 6 bytes is max in utf8, but Unicode in 2003 declared 21 bits to be enough for everyone and every codepoint, so it's 4 bytes max in practical utf8.)

@hellcp-work
Copy link
Contributor Author

(Won't happen. 6 bytes is max in utf8, but Unicode in 2003 declared 21 bits to be enough for everyone and every codepoint, so it's 4 bytes max in practical utf8.)

That doesn't mean you can't include additional metadata with each character https://twitter.com/Foone/status/1345180935080321034

@jengelh
Copy link
Contributor

jengelh commented Aug 3, 2023

🤦. Let's leave error correction and cryptography to real cryptographers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Frontend Things related to the OBS RoR app Reference Server 🖥️ Things related to build.opensuse.org Test Suite / CI 💉 Things related to our tests/CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bad handling of 4-byte-unicode characters in /person?cmd=register
4 participants