Skip to content

Instantly share code, notes, and snippets.

@jeremyfelt
Last active August 29, 2015 14:19
Show Gist options
  • Save jeremyfelt/3f1e0ed40a71a01bcb5e to your computer and use it in GitHub Desktop.
Save jeremyfelt/3f1e0ed40a71a01bcb5e to your computer and use it in GitHub Desktop.
Generate ALTER TABLE statements used in the WordPress 4.2 upgrade routine
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` DROP INDEX slug, ADD INDEX slug(slug(191));") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE" AND TABLE_NAME LIKE '%_terms'
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` DROP INDEX name, ADD INDEX name(name(191));") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE" AND TABLE_NAME LIKE '%_terms'
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191));") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE" AND TABLE_NAME LIKE '%_commentmeta'
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191));") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE" AND TABLE_NAME LIKE '%_postmeta'
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` DROP INDEX post_name, ADD INDEX post_name(post_name(191));") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE" AND TABLE_NAME LIKE '%_posts'
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="wsuwp" AND TABLE_TYPE="BASE TABLE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment