Skip to content

Instantly share code, notes, and snippets.

@jwhitlock
Created August 25, 2016 00:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwhitlock/ae48e7ca4ad418c5549e778c41cfe9bd to your computer and use it in GitHub Desktop.
Save jwhitlock/ae48e7ca4ad418c5549e778c41cfe9bd to your computer and use it in GitHub Desktop.
SQL scripts for Bug 1293718
-- These have bad data in production
SELECT COUNT(*) AS account_emailaddress_orphan_users FROM `account_emailaddress` WHERE NOT EXISTS (SELECT * from `auth_user` WHERE `auth_user`.`id` = `account_emailaddress`.`user_id`);
SELECT * FROM `account_emailaddress` WHERE NOT EXISTS (SELECT * from `auth_user` WHERE `auth_user`.`id` = `account_emailaddress`.`user_id`);
SELECT COUNT(*) AS django_admin_log_orphan_content_types FROM `django_admin_log` WHERE NOT EXISTS (SELECT * FROM `django_content_type` WHERE `django_content_type`.`id` = `django_admin_log`.`content_type_id`);
SELECT * FROM `django_admin_log` WHERE NOT EXISTS (SELECT * FROM `django_content_type` WHERE `django_content_type`.`id` = `django_admin_log`.`content_type_id`);
SELECT COUNT(*) AS socialaccount_socialtoken_orphan_accounts FROM `socialaccount_socialtoken` WHERE NOT EXISTS (SELECT * FROM `socialaccount_socialaccount` WHERE `socialaccount_socialaccount`.`id` = `socialaccount_socialtoken`.`account_id`);
SELECT * FROM `socialaccount_socialtoken` WHERE NOT EXISTS (SELECT * FROM `socialaccount_socialaccount` WHERE `socialaccount_socialaccount`.`id` = `socialaccount_socialtoken`.`account_id`);
SELECT COUNT(*) AS wiki_revision_orphan_documents FROM `wiki_revision` WHERE NOT EXISTS (SELECT * FROM `wiki_document` WHERE `wiki_document`.`id` = `wiki_revision`.`document_id`);
SELECT * FROM `wiki_revision` WHERE NOT EXISTS (SELECT * FROM `wiki_document` WHERE `wiki_document`.`id` = `wiki_revision`.`document_id`);
-- These all return 0 records, and the SELECT * is slow, so skip
SELECT COUNT(*) AS auth_group_permissions_orphan_groups FROM `auth_group_permissions` WHERE NOT EXISTS (SELECT * FROM `auth_group` WHERE `auth_group`.`id` = `auth_group_permissions`.`group_id`);
SELECT COUNT(*) AS auth_group_permissions_orphan_permissions FROM `auth_group_permissions` WHERE NOT EXISTS (SELECT * FROM `auth_permission` WHERE `auth_permission`.`id` = `auth_group_permissions`.`permission_id`);
SELECT COUNT(*) AS auth_permission_orphan_content_types FROM `auth_permission` WHERE NOT EXISTS (SELECT * FROM `django_content_type` WHERE `django_content_type`.`id` = `auth_permission`.`content_type_id`);
SELECT COUNT(*) AS auth_user_groups_orphan_groups FROM `auth_user_groups` WHERE NOT EXISTS (SELECT * FROM `auth_group` WHERE `auth_group`.`id` = `auth_user_groups`.`group_id`);
SELECT COUNT(*) AS auth_user_groups_orphan_users FROM `auth_user_groups` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `auth_user_groups`.`user_id`);
SELECT COUNT(*) AS auth_user_user_permissions_orphan_permissions FROM `auth_user_user_permissions` WHERE NOT EXISTS (SELECT * FROM `auth_permission` WHERE `auth_permission`.`id` = `auth_user_user_permissions`.`permission_id`);
SELECT COUNT(*) AS auth_user_user_permissions_orphan_users FROM `auth_user_user_permissions` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `auth_user_user_permissions`.`user_id`);
SELECT COUNT(*) AS django_admin_log_orphan_users FROM `django_admin_log` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `django_admin_log`.`user_id`);
SELECT COUNT(*) AS feeder_bundle_feeds_orphan_bundles FROM `feeder_bundle_feeds` WHERE NOT EXISTS (SELECT * FROM `feeder_bundle` WHERE `feeder_bundle`.`id` = `feeder_bundle_feeds`.`bundle_id`);
SELECT COUNT(*) AS feeder_bundle_feeds_orphan_feeds FROM `feeder_bundle_feeds` WHERE NOT EXISTS (SELECT * FROM `feeder_feed` WHERE `feeder_feed`.`id` = `feeder_bundle_feeds`.`feed_id`);
SELECT COUNT(*) AS feeder_entry_orphan_feeds FROM `feeder_entry` WHERE NOT EXISTS (SELECT * FROM `feeder_feed` WHERE `feeder_feed`.`id` = `feeder_entry`.`feed_id`);
SELECT COUNT(*) AS waffle_flag_groups_orphan_flags FROM `waffle_flag_groups` WHERE NOT EXISTS (SELECT * FROM `waffle_flag` WHERE `waffle_flag`.`id` = `waffle_flag_groups`.`flag_id`);
SELECT COUNT(*) AS waffle_flag_groups_orphan_groups FROM `waffle_flag_groups` WHERE NOT EXISTS (SELECT * FROM `auth_group` WHERE `auth_group`.`id` = `waffle_flag_groups`.`group_id`);
SELECT COUNT(*) AS waffle_flag_users_orphan_flags FROM `waffle_flag_users` WHERE NOT EXISTS (SELECT * FROM `waffle_flag` WHERE `waffle_flag`.`id` = `waffle_flag_users`.`flag_id`);
SELECT COUNT(*) AS waffle_flag_users_orphan_users FROM `waffle_flag_users` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `waffle_flag_users`.`user_id`);
SELECT COUNT(*) AS wiki_document_orphan_current_revisions FROM `wiki_document` WHERE `current_revision_id` IS NOT NULL AND NOT EXISTS (SELECT * FROM `wiki_revision` WHERE `wiki_revision`.`id` = `wiki_document`.`current_revision_id`);
SELECT COUNT(*) AS wiki_document_orphan_parent_topics FROM `wiki_document` WHERE `parent_topic_id` IS NOT NULL AND NOT EXISTS (SELECT * FROM `wiki_document` AS parents WHERE parents.`id` = `wiki_document`.`parent_topic_id`);
SELECT COUNT(*) AS wiki_document_orphan_parents FROM `wiki_document` WHERE `parent_id` IS NOT NULL AND NOT EXISTS (SELECT * FROM `wiki_document` AS parents WHERE parents.`id` = `wiki_document`.`parent_id`);
SELECT COUNT(*) AS wiki_editortoolbar_orphan_users FROM `wiki_editortoolbar` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `wiki_editortoolbar`.`creator_id`);
SELECT COUNT(*) AS wiki_reviewtaggedrevision_orphan_revisions FROM `wiki_reviewtaggedrevision` WHERE NOT EXISTS (SELECT * FROM `wiki_revision` WHERE `wiki_revision`.`id` = `wiki_reviewtaggedrevision`.`content_object_id`);
SELECT COUNT(*) AS wiki_reviewtaggedrevision_orphan_tags FROM `wiki_reviewtaggedrevision` WHERE NOT EXISTS (SELECT * FROM `wiki_reviewtag` WHERE `wiki_reviewtag`.`id` = `wiki_reviewtaggedrevision`.`tag_id`);
SELECT COUNT(*) AS wiki_revision_orphan_based_on FROM `wiki_revision` WHERE `based_on_id` IS NOT NULL AND NOT EXISTS (SELECT * FROM `wiki_revision` AS based WHERE based.`id` = `wiki_revision`.`based_on_id`);
SELECT COUNT(*) AS wiki_revision_orphan_creators FROM `wiki_revision` WHERE NOT EXISTS (SELECT * FROM `auth_user` WHERE `auth_user`.`id` = `wiki_revision`.`creator_id`);
SELECT COUNT(*) AS wiki_taggeddocument_orphan_documents FROM `wiki_taggeddocument` WHERE NOT EXISTS (SELECT * from `wiki_document` WHERE `wiki_document`.`id` = `wiki_taggeddocument`.`content_object_id`);
SELECT COUNT(*) AS wiki_taggeddocument_orphan_tags FROM `wiki_taggeddocument` WHERE NOT EXISTS (SELECT * from `wiki_documenttag` WHERE `wiki_documenttag`.`id` = `wiki_taggeddocument`.`tag_id`);
-- Delete account_emailaddress where user doesn't exist
DELETE FROM `account_emailconfirmation` WHERE `email_address_id` = 416985;
DELETE FROM `account_emailaddress` WHERE `id` = 416985;
-- auto version
-- DELETE FROM `account_emailconfirmation` WHERE `email_address_id` IN (
-- SELECT `id` FROM `account_emailaddress` WHERE NOT EXISTS (
-- SELECT * from `auth_user`
-- WHERE `auth_user`.`id` = `account_emailaddress`.`user_id`));
-- DELETE FROM `account_emailaddress` WHERE NOT EXISTS (
-- SELECT * from `auth_user`
-- WHERE `auth_user`.`id` = `account_emailaddress`.`user_id`);
-- Delete from django_admin_log where the content type doesn't exist
DELETE FROM `django_admin_log` WHERE `id` IN (151, 152, 153, 154, 155, 156, 157);
-- auto version
-- DELETE FROM `django_admin_log` WHERE NOT EXISTS (
-- SELECT * FROM `django_content_type`
-- WHERE `django_content_type`.`id` = `django_admin_log`.`content_type_id`);
--
-- Delete from socialaccount_socialtoken where the account doesn't exist
DELETE FROM `socialaccount_socialtoken` WHERE `id` IN (91567, 91570);
-- auto version
-- DELETE FROM `socialaccount_socialtoken` WHERE NOT EXISTS (
-- SELECT * FROM `socialaccount_socialaccount`
-- WHERE `socialaccount_socialaccount`.`id` = `socialaccount_socialtoken`.`account_id`);
-- Delete from wiki_revision where the document doesn't exist
DELETE FROM `wiki_revision` WHERE `id` in (9934, 19072, 150890, 150892, 217246, 217307, 365129, 378787);
-- auto version
-- DELETE FROM `wiki_revision` WHERE NOT EXISTS (
-- SELECT * FROM `wiki_document`
-- WHERE `wiki_document`.`id` = `wiki_revision`.`document_id`);
-- bug 1293718
ALTER TABLE `account_emailaddress`
MODIFY `user_id` int(11) NOT NULL AFTER `primary`,
ADD CONSTRAINT `account_emailaddress_user_id_5c85949e40d9a61d_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP FOREIGN KEY `user_id_refs_id_d1c6509c`,
DROP KEY `account_emailaddress_fbfc09f1`;
ALTER TABLE `account_emailconfirmation`
MODIFY `created` datetime(6) AFTER `id`,
MODIFY `sent` datetime(6) DEFAULT NULL AFTER `created`,
MODIFY `email_address_id` int(11) NOT NULL AFTER `key`,
ADD KEY `acc_email_address_id_5bcf9f503c32d4d8_fk_account_emailaddress_id` (`email_address_id`),
ADD CONSTRAINT `acc_email_address_id_5bcf9f503c32d4d8_fk_account_emailaddress_id` FOREIGN KEY (`email_address_id`) REFERENCES `account_emailaddress` (`id`),
DROP KEY `account_emailconfirmation_1df9fea4`,
DROP FOREIGN KEY `email_address_id_refs_id_2b7a814f`;
ALTER TABLE `account_emailconfirmation`
MODIFY `created` datetime(6) NOT NULL;
ALTER TABLE `attachments_attachment`
MODIFY `modified` datetime(6) DEFAULT NULL AFTER `mindtouch_attachment_id`,
MODIFY `current_revision_id` int(11) AFTER `modified`,
ADD KEY `attachments_attachment_d5d3db17` (`title`),
ADD KEY `attachments_attachment_15af6e0e` (`mindtouch_attachment_id`),
ADD KEY `attachments_attachment_9ae73c65` (`modified`),
ADD KEY `attachments_attachment_0ea2b072` (`current_revision_id`),
DROP KEY `wiki_attachment_841a7e28`,
DROP KEY `wiki_attachment_f29a0ccd`,
DROP KEY `wiki_attachment_5436e97a`,
DROP KEY `wiki_attachment_a253e251`;
ALTER TABLE `attachments_attachment`
ALTER `current_revision_id` DROP DEFAULT;
ALTER TABLE `attachments_attachmentrevision`
MODIFY `created` datetime(6) AFTER `description`,
MODIFY `is_approved` tinyint(1) NOT NULL AFTER `comment`,
MODIFY `is_mindtouch_migration` tinyint(1) NOT NULL AFTER `mindtouch_old_id`,
MODIFY `attachment_id` int(11) NOT NULL AFTER `is_mindtouch_migration`,
MODIFY `creator_id` int(11) NOT NULL AFTER `attachment_id`,
ADD KEY `atta_attachment_id_230910fc0cbc5b58_fk_attachments_attachment_id` (`attachment_id`),
ADD KEY `attachments_attachmentrevision_d5d3db17` (`title`),
ADD KEY `attachments_attachmentrevision_fc0f6a60` (`mime_type`),
ADD KEY `attachments_attachmentrevision_9ab2607b` (`is_approved`),
ADD KEY `attachments_attachmentrevision_9a5a8b6d` (`is_mindtouch_migration`),
ADD KEY `attachments_attachmentrevision_3700153c` (`creator_id`),
ADD CONSTRAINT `atta_attachment_id_230910fc0cbc5b58_fk_attachments_attachment_id` FOREIGN KEY (`attachment_id`) REFERENCES `attachments_attachment` (`id`),
ADD CONSTRAINT `attachments_attachme_creator_id_3f13b4fe46dc29e6_fk_auth_user_id` FOREIGN KEY (`creator_id`) REFERENCES `auth_user` (`id`),
DROP KEY `wiki_attachmentrevision_edee6011`,
DROP KEY `wiki_attachmentrevision_841a7e28`,
DROP KEY `wiki_attachmentrevision_f739b34d`,
DROP KEY `wiki_attachmentrevision_f97a5119`,
DROP KEY `wiki_attachmentrevision_c1e306d2`,
DROP KEY `wiki_attachmentrevision_b2ea1a7c`,
DROP FOREIGN KEY `attachment_id_refs_id_33d8cf1f640583da`,
DROP FOREIGN KEY `creator_id_refs_id_2822eb682eaca84c`;
ALTER TABLE `attachments_attachmentrevision`
ALTER `created` DROP DEFAULT;
ALTER TABLE `attachments_attachmentrevision`
MODIFY `created` datetime(6) NOT NULL;
ALTER TABLE `attachments_documentattachment`
MODIFY `name` longtext NOT NULL AFTER `id`,
MODIFY `attached_by_id` int(11) DEFAULT NULL AFTER `name`,
MODIFY `document_id` int(11) NOT NULL AFTER `attached_by_id`,
ADD KEY `attachments_docu_attached_by_id_7edcce86254df022_fk_auth_user_id` (`attached_by_id`),
ADD KEY `attachments_doc_document_id_465652d72e9dc15e_fk_wiki_document_id` (`document_id`),
ADD KEY `attachment_file_id_7a76cb0c0e32a7e1_fk_attachments_attachment_id` (`file_id`),
ADD CONSTRAINT `attachments_docu_attached_by_id_7edcce86254df022_fk_auth_user_id` FOREIGN KEY (`attached_by_id`) REFERENCES `auth_user` (`id`),
DROP KEY `wiki_documentattachment_2243e3be`,
DROP KEY `wiki_documentattachment_f4226d13`,
DROP KEY `wiki_documentattachment_97f10893`,
DROP FOREIGN KEY `attached_by_id_refs_id_35f79cb6a36b330`;
ALTER TABLE `auth_group_permissions`
ADD KEY `auth_group__permission_id_1f49ccbbdc69d2fc_fk_auth_permission_id` (`permission_id`),
DROP KEY `auth_group_permissions_1e014c8f`,
ADD CONSTRAINT `auth_group_permission_group_id_689710a9a73b7457_fk_auth_group_id` FOREIGN KEY (`group_id`) REFERENCES `auth_group` (`id`),
ADD CONSTRAINT `auth_group__permission_id_1f49ccbbdc69d2fc_fk_auth_permission_id` FOREIGN KEY (`permission_id`) REFERENCES `auth_permission` (`id`),
DROP KEY `auth_group_permissions_bda51c3c`;
ALTER TABLE `auth_permission`
ADD CONSTRAINT `auth__content_type_id_508cf46651277a81_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
DROP KEY `auth_permission_e4470c6e`;
ALTER TABLE `auth_user`
MODIFY `password` varchar(128) NOT NULL AFTER `id`,
MODIFY `last_login` datetime(6) DEFAULT NULL AFTER `password`,
MODIFY `is_superuser` tinyint(1) NOT NULL AFTER `last_login`,
MODIFY `date_joined` datetime(6) AFTER `is_active`,
MODIFY `timezone` varchar(42) NOT NULL AFTER `date_joined`,
MODIFY `locale` varchar(7) NOT NULL AFTER `timezone`,
MODIFY `homepage` varchar(255) NOT NULL AFTER `locale`,
MODIFY `title` varchar(255) NOT NULL AFTER `homepage`,
MODIFY `fullname` varchar(255) NOT NULL AFTER `title`,
MODIFY `organization` varchar(255) NOT NULL AFTER `fullname`,
MODIFY `location` varchar(255) NOT NULL AFTER `organization`,
MODIFY `website_url` longtext NOT NULL AFTER `irc_nickname`,
MODIFY `mozillians_url` longtext NOT NULL AFTER `website_url`,
MODIFY `twitter_url` longtext NOT NULL AFTER `github_url`,
MODIFY `facebook_url` longtext NOT NULL AFTER `linkedin_url`;
ALTER TABLE `auth_user`
MODIFY `date_joined` datetime(6) NOT NULL;
ALTER TABLE `auth_user_groups`
ADD KEY `auth_user_groups_group_id_33ac548dcf5f8e37_fk_auth_group_id` (`group_id`),
DROP KEY `auth_user_groups_bda51c3c`,
ADD CONSTRAINT `auth_user_groups_group_id_33ac548dcf5f8e37_fk_auth_group_id` FOREIGN KEY (`group_id`) REFERENCES `auth_group` (`id`),
ADD CONSTRAINT `auth_user_groups_user_id_4b5ed4ffdb8fd9b0_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `auth_user_groups_fbfc09f1`;
ALTER TABLE `auth_user_user_permissions`
ADD KEY `auth_user_u_permission_id_384b62483d7071f0_fk_auth_permission_id` (`permission_id`),
DROP KEY `auth_user_user_permissions_1e014c8f`,
ADD CONSTRAINT `auth_user_u_permission_id_384b62483d7071f0_fk_auth_permission_id` FOREIGN KEY (`permission_id`) REFERENCES `auth_permission` (`id`),
ADD CONSTRAINT `auth_user_user_permissi_user_id_7f0938558328534a_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `auth_user_user_permissions_fbfc09f1`;
ALTER TABLE `authkeys_key`
MODIFY `created` datetime(6) AFTER `description`,
MODIFY `user_id` int(11) NOT NULL AFTER `created`,
ADD KEY `authkeys_key_user_id_283baa9c70a8433f_fk_auth_user_id` (`user_id`),
ADD KEY `authkeys_key_3c6e0b8a` (`key`),
ADD CONSTRAINT `authkeys_key_user_id_283baa9c70a8433f_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `authkeys_key_fbfc09f1`,
DROP KEY `authkeys_key_45544485`,
DROP FOREIGN KEY `user_id_refs_id_2f0570a39c5df08e`;
ALTER TABLE `authkeys_key`
MODIFY `created` datetime(6) NOT NULL;
ALTER TABLE `authkeys_keyaction`
MODIFY `created` datetime(6) AFTER `object_id`,
MODIFY `content_type_id` int(11) NOT NULL AFTER `created`,
MODIFY `key_id` int(11) NOT NULL AFTER `content_type_id`,
ADD KEY `authk_content_type_id_2bf78468f8df8ac6_fk_django_content_type_id` (`content_type_id`),
ADD KEY `authkeys_keyaction_key_id_3a0a25e5b9f4a776_fk_authkeys_key_id` (`key_id`),
ADD CONSTRAINT `authk_content_type_id_2bf78468f8df8ac6_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
ADD CONSTRAINT `authkeys_keyaction_key_id_3a0a25e5b9f4a776_fk_authkeys_key_id` FOREIGN KEY (`key_id`) REFERENCES `authkeys_key` (`id`),
DROP KEY `authkeys_keyaction_e4470c6e`,
DROP KEY `authkeys_keyaction_a0cea42`,
DROP FOREIGN KEY `content_type_id_refs_id_7f56f581d9b7119a`,
DROP FOREIGN KEY `key_id_refs_id_7aa1d927547dd3ef`;
ALTER TABLE `authkeys_keyaction`
MODIFY `created` datetime(6) NOT NULL;
ALTER TABLE `celery_taskmeta`
MODIFY `date_done` datetime(6) AFTER `result`,
MODIFY `hidden` tinyint(1) NOT NULL AFTER `traceback`,
ADD KEY `celery_taskmeta_662f707d` (`hidden`);
ALTER TABLE `celery_taskmeta`
MODIFY `date_done` datetime(6) NOT NULL;
ALTER TABLE `celery_tasksetmeta`
MODIFY `hidden` tinyint(1) NOT NULL AFTER `date_done`,
ADD KEY `celery_tasksetmeta_662f707d` (`hidden`),
MODIFY `date_done` datetime(6) NOT NULL;
ALTER TABLE `constance_config`
ADD UNIQUE KEY `key` (`key`),
DROP KEY `constance_config_key_301aec6d7a4fb304_uniq`,
DROP KEY `constance_config_key_unique`;
ALTER TABLE `core_ipban`
MODIFY `created` datetime(6) NOT NULL,
MODIFY `deleted` datetime(6) DEFAULT NULL,
ADD KEY `core_ipban_e2fa5388` (`created`),
DROP KEY `core_ipban_3216ff68`;
ALTER TABLE `django_admin_log`
MODIFY `action_time` datetime(6) NOT NULL,
MODIFY `content_type_id` int(11) DEFAULT NULL AFTER `change_message`,
MODIFY `user_id` int(11) NOT NULL AFTER `content_type_id`,
ADD KEY `djang_content_type_id_697914295151027a_fk_django_content_type_id` (`content_type_id`),
ADD KEY `django_admin_log_user_id_52fdd58701c5f563_fk_auth_user_id` (`user_id`),
DROP KEY `django_admin_log_e4470c6e`,
DROP KEY `django_admin_log_fbfc09f1`,
ADD CONSTRAINT `djang_content_type_id_697914295151027a_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
ADD CONSTRAINT `django_admin_log_user_id_52fdd58701c5f563_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`);
ALTER TABLE `django_content_type`
ADD UNIQUE KEY `django_content_type_app_label_45f3b1d93ec8c61c_uniq` (`app_label`,`model`),
DROP KEY `app_label`;
ALTER TABLE `django_migrations`
MODIFY `applied` datetime(6) NOT NULL;
ALTER TABLE `django_session`
MODIFY `expire_date` datetime(6) NOT NULL,
ADD KEY `django_session_de54fa62` (`expire_date`),
DROP KEY `expire_date`;
ALTER TABLE `djcelery_crontabschedule`
ALTER `minute` DROP DEFAULT,
ALTER `hour` DROP DEFAULT,
ALTER `day_of_week` DROP DEFAULT;
ALTER TABLE `djcelery_periodictask`
ALTER `enabled` DROP DEFAULT,
ALTER `total_run_count` DROP DEFAULT,
MODIFY `expires` datetime(6) DEFAULT NULL,
MODIFY `last_run_at` datetime(6) DEFAULT NULL,
MODIFY `date_changed` datetime(6) NOT NULL,
MODIFY `crontab_id` int(11) DEFAULT NULL AFTER `description`,
MODIFY `interval_id` int(11) DEFAULT NULL AFTER `crontab_id`,
ADD KEY `djcel_crontab_id_1d8228f5b44b680a_fk_djcelery_crontabschedule_id` (`crontab_id`),
ADD KEY `djc_interval_id_20cfc1cad060dfad_fk_djcelery_intervalschedule_id` (`interval_id`),
ADD CONSTRAINT `djc_interval_id_20cfc1cad060dfad_fk_djcelery_intervalschedule_id` FOREIGN KEY (`interval_id`) REFERENCES `djcelery_intervalschedule` (`id`),
ADD CONSTRAINT `djcel_crontab_id_1d8228f5b44b680a_fk_djcelery_crontabschedule_id` FOREIGN KEY (`crontab_id`) REFERENCES `djcelery_crontabschedule` (`id`),
DROP KEY `djcelery_periodictask_7aa5fda`,
DROP KEY `djcelery_periodictask_17d2d99d`,
DROP FOREIGN KEY `interval_id_refs_id_672c7616f2054349`,
DROP FOREIGN KEY `crontab_id_refs_id_2c92a393ebff5e74`;
ALTER TABLE `djcelery_periodictasks`
ALTER `ident` DROP DEFAULT,
MODIFY `last_update` datetime(6) NOT NULL;
ALTER TABLE `djcelery_taskstate`
MODIFY `tstamp` datetime(6) NOT NULL,
MODIFY `eta` datetime(6) DEFAULT NULL,
MODIFY `expires` datetime(6) DEFAULT NULL,
MODIFY `retries` int(11) NOT NULL AFTER `runtime`,
MODIFY `hidden` tinyint(1) NOT NULL AFTER `retries`,
MODIFY `worker_id` int(11) AFTER `hidden`,
ADD KEY `djcelery_taskstate_9ed39e2e` (`state`),
ADD KEY `djcelery_taskstate_b068931c` (`name`),
ADD KEY `djcelery_taskstate_863bb2ee` (`tstamp`),
ADD KEY `djcelery_taskstate_662f707d` (`hidden`),
ADD KEY `djcelery_taskstate_ce77e6ef` (`worker_id`),
ADD CONSTRAINT `djcelery_t_worker_id_30050731b1c3d3d9_fk_djcelery_workerstate_id` FOREIGN KEY (`worker_id`) REFERENCES `djcelery_workerstate` (`id`),
DROP KEY `djcelery_taskstate_52094d6e`,
DROP KEY `djcelery_taskstate_f0ba6500`,
DROP KEY `djcelery_taskstate_20fc5b84`,
DROP FOREIGN KEY `worker_id_refs_id_13af6e2204e3453a`;
ALTER TABLE `djcelery_taskstate`
ALTER `worker_id` DROP DEFAULT;
ALTER TABLE `djcelery_workerstate`
MODIFY `last_heartbeat` datetime(6) DEFAULT NULL,
ADD KEY `djcelery_workerstate_f129901a` (`last_heartbeat`),
DROP KEY `djcelery_workerstate_eb8ac7e4`;
ALTER TABLE `feeder_bundle_feeds`
ADD KEY `feeder_bundle_feeds_feed_id_3de254f3ac173dab_fk_feeder_feed_id` (`feed_id`),
DROP KEY `feeder_bundle_feeds_eac0c404`,
ADD CONSTRAINT `feeder_bundle_fee_bundle_id_725e785722f5ca8d_fk_feeder_bundle_id` FOREIGN KEY (`bundle_id`) REFERENCES `feeder_bundle` (`id`),
ADD CONSTRAINT `feeder_bundle_feeds_feed_id_3de254f3ac173dab_fk_feeder_feed_id` FOREIGN KEY (`feed_id`) REFERENCES `feeder_feed` (`id`),
DROP KEY `feeder_bundle_feeds_512d3d62`;
ALTER TABLE `feeder_entry`
MODIFY `last_published` datetime(6) NOT NULL,
MODIFY `created` datetime(6) NOT NULL,
MODIFY `updated` datetime(6) NOT NULL,
MODIFY `feed_id` int(11) NOT NULL AFTER `updated`,
ADD UNIQUE KEY `feeder_entry_feed_id_1a403b010f7b0f7e_uniq` (`feed_id`,`guid`),
ADD KEY `feeder_entry_c95a8e93` (`feed_id`),
DROP KEY `feed_id`,
DROP KEY `feeder_entry_eac0c404`,
ADD CONSTRAINT `feeder_entry_feed_id_139695e94907006e_fk_feeder_feed_id` FOREIGN KEY (`feed_id`) REFERENCES `feeder_feed` (`id`);
ALTER TABLE `feeder_feed`
MODIFY `last_modified` datetime(6) NOT NULL,
MODIFY `created` datetime(6) NOT NULL,
MODIFY `updated` datetime(6) NOT NULL;
ALTER TABLE `search_filter`
MODIFY `shortcut` varchar(255) DEFAULT NULL AFTER `slug`,
MODIFY `group_id` int(11) NOT NULL AFTER `visible`,
ADD KEY `search_filter_b068931c` (`name`),
ADD KEY `search_filter_2dbcba41` (`slug`),
ADD KEY `search_filter_c0954f37` (`shortcut`),
ADD KEY `search_filter_0e939a4f` (`group_id`),
ADD CONSTRAINT `search_filter_group_id_548f3874b2997112_fk_search_filtergroup_id` FOREIGN KEY (`group_id`) REFERENCES `search_filtergroup` (`id`),
DROP KEY `search_filter_52094d6e`,
DROP KEY `search_filter_a951d5d6`,
DROP KEY `search_filter_bda51c3c`,
DROP KEY `search_filter_6a492083`,
DROP FOREIGN KEY `group_id_refs_id_c97308b5`;
ALTER TABLE `search_filtergroup`
MODIFY `slug` varchar(255) DEFAULT NULL AFTER `name`;
ALTER TABLE `search_index`
MODIFY `created_at` datetime(6) AFTER `id`;
ALTER TABLE `search_index`
MODIFY `created_at` datetime(6) NOT NULL;
ALTER TABLE `search_outdatedobject`
MODIFY `created_at` datetime(6) NOT NULL AFTER `id`,
MODIFY `object_id` int(10) unsigned NOT NULL AFTER `created_at`,
MODIFY `content_type_id` int(11) NOT NULL AFTER `object_id`,
MODIFY `index_id` int(11) NOT NULL AFTER `content_type_id`,
ADD KEY `searc_content_type_id_645e4d629a7a6d0d_fk_django_content_type_id` (`content_type_id`),
ADD KEY `search_outdatedobjec_index_id_6d87b063ad32628_fk_search_index_id` (`index_id`),
ADD CONSTRAINT `searc_content_type_id_645e4d629a7a6d0d_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
ADD CONSTRAINT `search_outdatedobjec_index_id_6d87b063ad32628_fk_search_index_id` FOREIGN KEY (`index_id`) REFERENCES `search_index` (`id`),
DROP KEY `search_outdatedobject_f27db3f9`,
DROP KEY `search_outdatedobject_e4470c6e`,
DROP FOREIGN KEY `content_type_id_refs_id_bbaef693`,
DROP FOREIGN KEY `index_id_refs_id_d462a71f`;
ALTER TABLE `socialaccount_socialaccount`
MODIFY `provider` varchar(30) NOT NULL AFTER `id`,
MODIFY `uid` varchar(191) NOT NULL AFTER `provider`,
MODIFY `last_login` datetime(6) AFTER `uid`,
MODIFY `date_joined` datetime(6) AFTER `last_login`,
MODIFY `user_id` int(11) NOT NULL AFTER `extra_data`,
ADD UNIQUE KEY `socialaccount_socialaccount_provider_36eec1734f431f56_uniq` (`provider`,`uid`),
ADD KEY `socialaccount_socialacc_user_id_3fd78aac97693583_fk_auth_user_id` (`user_id`),
ADD CONSTRAINT `socialaccount_socialacc_user_id_3fd78aac97693583_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `socialaccount_socialaccount_uid_5ac8b4eb459472be_uniq`,
DROP KEY `socialaccount_socialaccount_fbfc09f1`,
DROP FOREIGN KEY `user_id_refs_id_651975b6`;
ALTER TABLE `socialaccount_socialaccount`
MODIFY `last_login` datetime(6) NOT NULL,
MODIFY `date_joined` datetime(6) NOT NULL;
ALTER TABLE `socialaccount_socialapp`
MODIFY `client_id` varchar(191) NOT NULL AFTER `name`,
MODIFY `secret` varchar(191) NOT NULL AFTER `client_id`;
ALTER TABLE `socialaccount_socialapp_sites`
ADD UNIQUE KEY `socialapp_id` (`socialapp_id`,`site_id`),
ADD KEY `socialaccount_socialap_site_id_a859406a22be3fe_fk_django_site_id` (`site_id`),
ADD CONSTRAINT `soci_socialapp_id_7b02380b6127b1b8_fk_socialaccount_socialapp_id` FOREIGN KEY (`socialapp_id`) REFERENCES `socialaccount_socialapp` (`id`),
ADD CONSTRAINT `socialaccount_socialap_site_id_a859406a22be3fe_fk_django_site_id` FOREIGN KEY (`site_id`) REFERENCES `django_site` (`id`),
DROP KEY `socialaccount_socialapp_sites_socialapp_id_711547c3e6a002b_uniq`,
DROP KEY `socialaccount_socialapp_sites_6223029`,
DROP FOREIGN KEY `site_id_refs_id_3b5cf2e0`,
DROP FOREIGN KEY `socialapp_id_refs_id_4ddb0a44`,
DROP KEY `socialaccount_socialapp_sites_44496323`;
ALTER TABLE `socialaccount_socialtoken`
MODIFY `expires_at` datetime(6) DEFAULT NULL AFTER `token_secret`,
MODIFY `account_id` int(11) NOT NULL AFTER `expires_at`,
MODIFY `app_id` int(11) NOT NULL AFTER `account_id`,
ADD KEY `so_account_id_3fc809e243dd8c0a_fk_socialaccount_socialaccount_id` (`account_id`),
ADD CONSTRAINT `so_account_id_3fc809e243dd8c0a_fk_socialaccount_socialaccount_id` FOREIGN KEY (`account_id`) REFERENCES `socialaccount_socialaccount` (`id`),
ADD CONSTRAINT `socialaccou_app_id_2125549785bd662_fk_socialaccount_socialapp_id` FOREIGN KEY (`app_id`) REFERENCES `socialaccount_socialapp` (`id`),
DROP KEY `socialaccount_socialtoken_6f2fe10e`,
DROP FOREIGN KEY `account_id_refs_id_c8cddb47`,
DROP FOREIGN KEY `app_id_refs_id_c4e30701`,
DROP KEY `socialaccount_socialtoken_269da59a`;
ALTER TABLE `taggit_taggeditem`
MODIFY `tag_id` int(11) NOT NULL AFTER `content_type_id`,
ADD KEY `taggit_taggeditem_tag_id_6318217c0d95e0d2_fk_taggit_tag_id` (`tag_id`),
ADD KEY `taggit_taggeditem_af31437c` (`object_id`),
ADD CONSTRAINT `taggi_content_type_id_62e0524705c3ec8f_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
ADD CONSTRAINT `taggit_taggeditem_tag_id_6318217c0d95e0d2_fk_taggit_tag_id` FOREIGN KEY (`tag_id`) REFERENCES `taggit_tag` (`id`),
DROP KEY `taggit_taggeditem_3747b463`,
DROP KEY `taggit_taggeditem_object_id`,
DROP FOREIGN KEY `content_type_id_refs_id_5a2b7711`,
DROP FOREIGN KEY `tag_id_refs_id_c87e3f85`,
DROP KEY `taggit_taggeditem_e4470c6e`;
ALTER TABLE `tidings_watch`
MODIFY `email` varchar(254) DEFAULT NULL AFTER `object_id`,
MODIFY `content_type_id` int(11) DEFAULT NULL AFTER `is_active`,
MODIFY `user_id` int(11) DEFAULT NULL AFTER `content_type_id`,
ADD KEY `tidings_watch_1cd03614` (`event_type`),
ADD KEY `tidings_watch_af31437c` (`object_id`),
ADD KEY `tidings_watch_0c83f57c` (`email`),
ADD KEY `tidings_watch_4264c638` (`is_active`),
ADD KEY `tidings_watch_user_id_4e1ff033f1fac64a_fk_auth_user_id` (`user_id`),
ADD KEY `tidin_content_type_id_6b03ba4d66f4efa7_fk_django_content_type_id` (`content_type_id`),
ADD CONSTRAINT `tidin_content_type_id_6b03ba4d66f4efa7_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`),
ADD CONSTRAINT `tidings_watch_user_id_4e1ff033f1fac64a_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `user_id_refs_id_30bde183`,
DROP KEY `content_type_id_refs_id_6f234cb9`,
DROP FOREIGN KEY `content_type_id_refs_id_6f234cb9`,
DROP FOREIGN KEY `user_id_refs_id_30bde183`;
ALTER TABLE `tidings_watchfilter`
MODIFY `watch_id` int(11) NOT NULL AFTER `value`,
ADD UNIQUE KEY `tidings_watchfilter_name_331e178d6d434337_uniq` (`name`,`watch_id`),
ADD KEY `tidings_watchfilte_watch_id_323f4a4cf8055bc5_fk_tidings_watch_id` (`watch_id`),
ADD CONSTRAINT `tidings_watchfilte_watch_id_323f4a4cf8055bc5_fk_tidings_watch_id` FOREIGN KEY (`watch_id`) REFERENCES `tidings_watch` (`id`),
DROP KEY `name`,
DROP KEY `watch_id_refs_id_24f0b663`,
DROP FOREIGN KEY `watch_id_refs_id_24f0b663`;
ALTER TABLE `users_userban`
ALTER `date` DROP DEFAULT,
ALTER `is_active` DROP DEFAULT,
MODIFY `by_id` int(11) NOT NULL AFTER `is_active`,
MODIFY `user_id` int(11) NOT NULL AFTER `by_id`,
ADD KEY `users_userban_by_id_592c8afa2b556ce9_fk_auth_user_id` (`by_id`),
ADD KEY `users_userban_user_id_656b4eaf67eee16f_fk_auth_user_id` (`user_id`),
ADD CONSTRAINT `users_userban_by_id_592c8afa2b556ce9_fk_auth_user_id` FOREIGN KEY (`by_id`) REFERENCES `auth_user` (`id`),
ADD CONSTRAINT `users_userban_user_id_656b4eaf67eee16f_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `users_userban_3acff7b7`,
DROP KEY `users_userban_fbfc09f1`,
DROP FOREIGN KEY `by_id_refs_id_25ca49e9a052c2f0`,
DROP FOREIGN KEY `user_id_refs_id_25ca49e9a052c2f0`;
ALTER TABLE `waffle_flag`
MODIFY `testing` tinyint(1) NOT NULL AFTER `percent`,
ALTER `superusers` DROP DEFAULT,
ALTER `staff` DROP DEFAULT,
ALTER `authenticated` DROP DEFAULT,
MODIFY `languages` longtext NOT NULL AFTER `authenticated`,
ALTER `rollout` DROP DEFAULT,
MODIFY `created` datetime(6) AFTER `note`,
MODIFY `modified` datetime(6) AFTER `created`,
ADD KEY `waffle_flag_e2fa5388` (`created`),
DROP KEY `waffle_flag_3216ff68`;
ALTER TABLE `waffle_flag`
ALTER `created` DROP DEFAULT,
ALTER `modified` DROP DEFAULT;
ALTER TABLE `waffle_flag`
MODIFY `created` datetime(6) NOT NULL,
MODIFY `modified` datetime(6) NOT NULL;
ALTER TABLE `waffle_flag_groups`
ADD UNIQUE KEY `flag_id` (`flag_id`,`group_id`),
ADD KEY `waffle_flag_groups_group_id_1d214ce64ae3698d_fk_auth_group_id` (`group_id`),
DROP KEY `waffle_flag_groups_flag_id_582896076571ab8b_uniq`,
DROP KEY `waffle_flag_groups_bda51c3c`,
ADD CONSTRAINT `waffle_flag_groups_flag_id_3d040eff1615da33_fk_waffle_flag_id` FOREIGN KEY (`flag_id`) REFERENCES `waffle_flag` (`id`),
ADD CONSTRAINT `waffle_flag_groups_group_id_1d214ce64ae3698d_fk_auth_group_id` FOREIGN KEY (`group_id`) REFERENCES `auth_group` (`id`),
DROP KEY `waffle_flag_groups_9bca17e2`;
ALTER TABLE `waffle_flag_users`
ADD UNIQUE KEY `flag_id` (`flag_id`,`user_id`),
ADD KEY `waffle_flag_users_user_id_3c8ba20de859cb5_fk_auth_user_id` (`user_id`),
DROP KEY `waffle_flag_users_flag_id_3bb77386107938a3_uniq`,
DROP KEY `waffle_flag_users_fbfc09f1`,
ADD CONSTRAINT `waffle_flag_users_flag_id_fe9e88f3072acde_fk_waffle_flag_id` FOREIGN KEY (`flag_id`) REFERENCES `waffle_flag` (`id`),
ADD CONSTRAINT `waffle_flag_users_user_id_3c8ba20de859cb5_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `waffle_flag_users_9bca17e2`;
ALTER TABLE `waffle_sample`
MODIFY `created` datetime(6) NOT NULL,
MODIFY `modified` datetime(6) NOT NULL,
ADD KEY `waffle_sample_e2fa5388` (`created`),
DROP KEY `waffle_sample_3216ff68`;
ALTER TABLE `waffle_switch`
ALTER `active` DROP DEFAULT,
MODIFY `created` datetime(6) NOT NULL,
MODIFY `modified` datetime(6) NOT NULL,
ADD KEY `waffle_switch_e2fa5388` (`created`),
DROP KEY `waffle_switch_3216ff68`;
ALTER TABLE `wiki_documentdeletionlog`
MODIFY `timestamp` datetime(6) AFTER `slug`,
MODIFY `user_id` int(11) NOT NULL AFTER `reason`,
ADD KEY `wiki_documentdeletionlo_user_id_42dd18a9724e6be1_fk_auth_user_id` (`user_id`),
ADD KEY `wiki_documentdeletionlog_fb216d9e` (`locale`),
ADD KEY `wiki_documentdeletionlog_2dbcba41` (`slug`),
ADD CONSTRAINT `wiki_documentdeletionlo_user_id_42dd18a9724e6be1_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`),
DROP KEY `wiki_documentdeletionlog_fbfc09f1`,
DROP KEY `wiki_documentdeletionlog_928541cb`,
DROP KEY `wiki_documentdeletionlog_a951d5d6`,
DROP FOREIGN KEY `user_id_refs_id_96303da0`;
ALTER TABLE `wiki_documentdeletionlog`
MODIFY `timestamp` datetime(6) NOT NULL;
ALTER TABLE `wiki_documentspamattempt`
MODIFY `created` datetime(6) NOT NULL,
MODIFY `reviewed` datetime(6),
ADD KEY `wiki_documentspamattemp_user_id_112e6b1e9154f257_fk_auth_user_id` (`user_id`),
ADD KEY `wiki_documentsp_document_id_5454e0d77b8f94f9_fk_wiki_document_id` (`document_id`),
DROP KEY `wiki_documentspamattempt_e8701ad4`,
DROP KEY `wiki_documentspamattempt_e7fafc10`;
ALTER TABLE `wiki_documentspamattempt`
ALTER `reviewer_id` DROP DEFAULT,
ALTER `reviewed` DROP DEFAULT;
ALTER TABLE `wiki_documentzone`
ALTER `url_root` SET DEFAULT NULL,
MODIFY `document_id` int(11) NOT NULL AFTER `url_root`,
ADD UNIQUE KEY `document_id` (`document_id`),
ADD KEY `wiki_documentzone_8317f8cf` (`url_root`),
ADD CONSTRAINT `wiki_documentzon_document_id_7ddd50eacae0eee_fk_wiki_document_id` FOREIGN KEY (`document_id`) REFERENCES `wiki_document` (`id`),
DROP KEY `wiki_documentzone_document_id_7ddd50eacae0eee_uniq`,
DROP KEY `wiki_documentzone_f4226d13`,
DROP FOREIGN KEY `document_id_refs_id_96709e37`;
ALTER TABLE `wiki_editortoolbar`
ALTER `default` DROP DEFAULT,
MODIFY `creator_id` int(11) NOT NULL AFTER `code`,
ADD KEY `wiki_editortoolbar_creator_id_2cfb05eec83cfd32_fk_auth_user_id` (`creator_id`),
DROP KEY `wiki_editortoolbar_f97a5119`,
ADD CONSTRAINT `wiki_editortoolbar_creator_id_2cfb05eec83cfd32_fk_auth_user_id` FOREIGN KEY (`creator_id`) REFERENCES `auth_user` (`id`);
ALTER TABLE `wiki_localizationtaggedrevision`
ADD KEY `wiki_localizationtaggedrevision_09a80f33` (`content_object_id`),
ADD KEY `wiki_localizationtaggedrevision_76f094bc` (`tag_id`),
ADD CONSTRAINT `wiki_loca_content_object_id_33f8ddbc31bab00b_fk_wiki_revision_id` FOREIGN KEY (`content_object_id`) REFERENCES `wiki_revision` (`id`),
DROP KEY `wiki_localizationtaggedrevision_92733365`,
DROP KEY `wiki_localizationtaggedrevision_3747b463`,
DROP FOREIGN KEY `content_object_id_refs_id_5831a398`;
ALTER TABLE `wiki_reviewtaggedrevision`
ADD KEY `wiki_reviewtaggedrevision_09a80f33` (`content_object_id`),
ADD KEY `wiki_reviewtaggedrevision_76f094bc` (`tag_id`),
DROP KEY `wiki_reviewtaggedrevision_92733365`,
DROP KEY `wiki_reviewtaggedrevision_3747b463`,
ADD CONSTRAINT `wiki_revie_content_object_id_50ce84a4ae84236_fk_wiki_revision_id` FOREIGN KEY (`content_object_id`) REFERENCES `wiki_revision` (`id`),
ADD CONSTRAINT `wiki_reviewtaggedre_tag_id_66c872e63daf13f4_fk_wiki_reviewtag_id` FOREIGN KEY (`tag_id`) REFERENCES `wiki_reviewtag` (`id`);
ALTER TABLE `wiki_revisionip`
MODIFY `ip` varchar(40) DEFAULT NULL AFTER `id`,
ADD KEY `wiki_revisionip_revision_id_95e70877bf79705_fk_wiki_revision_id` (`revision_id`),
ADD KEY `wiki_revisionip_957b527b` (`ip`),
ADD CONSTRAINT `wiki_revisionip_revision_id_95e70877bf79705_fk_wiki_revision_id` FOREIGN KEY (`revision_id`) REFERENCES `wiki_revision` (`id`),
DROP KEY `wiki_revisionip_202bdc7f`,
DROP KEY `wiki_revisionip_49a8a8f2`,
DROP FOREIGN KEY `revision_id_refs_id_9dac688`;
ALTER TABLE `wiki_taggeddocument`
ADD KEY `wiki_tagg_content_object_id_4f947ad0285fe7f0_fk_wiki_document_id` (`content_object_id`),
ADD KEY `wiki_taggeddocume_tag_id_101bf4b8a776e8f2_fk_wiki_documenttag_id` (`tag_id`),
DROP KEY `wiki_taggeddocument_92733365`,
DROP KEY `wiki_taggeddocument_3747b463`,
ADD CONSTRAINT `wiki_tagg_content_object_id_4f947ad0285fe7f0_fk_wiki_document_id` FOREIGN KEY (`content_object_id`) REFERENCES `wiki_document` (`id`),
ADD CONSTRAINT `wiki_taggeddocume_tag_id_101bf4b8a776e8f2_fk_wiki_documenttag_id` FOREIGN KEY (`tag_id`) REFERENCES `wiki_documenttag` (`id`);
-- 1 min 40 seconds
ALTER TABLE `wiki_document`
MODIFY `is_redirect` tinyint(1) NOT NULL AFTER `is_template`,
MODIFY `json` longtext AFTER `locale`,
MODIFY `render_scheduled_at` datetime(6) DEFAULT NULL AFTER `defer_rendering`,
MODIFY `render_started_at` datetime(6) DEFAULT NULL AFTER `render_scheduled_at`,
MODIFY `last_rendered_at` datetime(6) DEFAULT NULL AFTER `render_started_at`,
MODIFY `render_max_age` int(11) DEFAULT NULL AFTER `last_rendered_at`,
MODIFY `render_expires` datetime(6) DEFAULT NULL AFTER `render_max_age`,
MODIFY `deleted` tinyint(1) NOT NULL AFTER `render_expires`,
MODIFY `modified` datetime(6) DEFAULT NULL AFTER `deleted`,
MODIFY `current_revision_id` int(11) AFTER `summary_text`,
MODIFY `parent_id` int(11) AFTER `current_revision_id`,
MODIFY `parent_topic_id` int(11) AFTER `parent_id`,
ADD KEY `wiki_document_d5d3db17` (`title`),
ADD KEY `wiki_document_2dbcba41` (`slug`),
ADD KEY `wiki_document_f9ad3f33` (`is_template`),
ADD KEY `wiki_document_b5472884` (`is_redirect`),
ADD KEY `wiki_document_3048a8ce` (`is_localizable`),
ADD KEY `wiki_document_0b7cc3df` (`defer_rendering`),
ADD KEY `wiki_document_aaeef18f` (`render_scheduled_at`),
ADD KEY `wiki_document_57e100fc` (`render_started_at`),
ADD KEY `wiki_document_757506aa` (`last_rendered_at`),
ADD KEY `wiki_document_e914ff23` (`render_expires`),
ADD KEY `wiki_document_da602f0b` (`deleted`),
ADD KEY `wiki_document_9ae73c65` (`modified`),
ADD KEY `wiki_document_0ea2b072` (`current_revision_id`),
ADD KEY `wiki_document_6be37982` (`parent_id`),
ADD KEY `wiki_document_d8483dc0` (`parent_topic_id`),
DROP KEY `wiki_document_841a7e28`,
DROP KEY `wiki_document_a951d5d6`,
DROP KEY `wiki_document_ffc55767`,
DROP KEY `wiki_document_2220894d`,
DROP KEY `wiki_document_e8d1d6e4`,
DROP KEY `wiki_document_39ce2e7f`,
DROP KEY `wiki_document_b7df8a4`,
DROP KEY `wiki_document_79b3e3ec`,
DROP KEY `wiki_document_f5bdd789`,
DROP KEY `wiki_document_c22da8f8`,
DROP KEY `wiki_document_6cc99b0b`,
DROP KEY `wiki_document_5436e97a`,
DROP KEY `wiki_document_a253e251`,
DROP KEY `wiki_document_63f17a16`,
DROP KEY `wiki_document_3343a99c`,
ADD KEY `wiki_document_fb216d9e` (`locale`),
DROP KEY `locale`,
ADD CONSTRAINT `wiki_do_current_revision_id_37a229063301b4c6_fk_wiki_revision_id` FOREIGN KEY (`current_revision_id`) REFERENCES `wiki_revision` (`id`),
ADD CONSTRAINT `wiki_docume_parent_topic_id_3d0c927d05c8a27f_fk_wiki_document_id` FOREIGN KEY (`parent_topic_id`) REFERENCES `wiki_document` (`id`),
ADD CONSTRAINT `wiki_document_parent_id_7ab1251d5d824d3f_fk_wiki_document_id` FOREIGN KEY (`parent_id`) REFERENCES `wiki_document` (`id`);
-- 0 seconds
ALTER TABLE `wiki_document`
ALTER `is_template` DROP DEFAULT,
ALTER `is_localizable` DROP DEFAULT,
ALTER `locale` DROP DEFAULT,
ALTER `current_revision_id` DROP DEFAULT,
ALTER `parent_id` DROP DEFAULT,
ALTER `parent_topic_id` DROP DEFAULT;
-- 5 min 3 seconds
ALTER TABLE `wiki_revision`
MODIFY `title` varchar(255) DEFAULT NULL AFTER `id`,
MODIFY `slug` varchar(255) DEFAULT NULL AFTER `title`,
MODIFY `tags` varchar(255) NOT NULL AFTER `keywords`,
MODIFY `toc_depth` int(11) NOT NULL AFTER `tags`,
MODIFY `render_max_age` int(11) DEFAULT NULL AFTER `toc_depth`,
MODIFY `created` datetime(6) AFTER `render_max_age`,
MODIFY `is_mindtouch_migration` tinyint(1) NOT NULL AFTER `is_approved`,
MODIFY `creator_id` int(11) NOT NULL AFTER `based_on_id`,
MODIFY `document_id` int(11) NOT NULL AFTER `creator_id`,
ADD KEY `wiki_revision_based_on_id_d055a8e2f65c2f8_fk_wiki_revision_id` (`based_on_id`),
ADD KEY `wiki_revision_creator_id_189048adc51af28_fk_auth_user_id` (`creator_id`),
ADD KEY `wiki_revision_d5d3db17` (`title`),
ADD KEY `wiki_revision_2dbcba41` (`slug`),
ADD KEY `wiki_revision_e2fa5388` (`created`),
ADD KEY `wiki_revision_9ab2607b` (`is_approved`),
ADD KEY `wiki_revision_9a5a8b6d` (`is_mindtouch_migration`),
ADD CONSTRAINT `wiki_revision_based_on_id_d055a8e2f65c2f8_fk_wiki_revision_id` FOREIGN KEY (`based_on_id`) REFERENCES `wiki_revision` (`id`),
ADD CONSTRAINT `wiki_revision_creator_id_189048adc51af28_fk_auth_user_id` FOREIGN KEY (`creator_id`) REFERENCES `auth_user` (`id`),
ADD CONSTRAINT `wiki_revision_document_id_3dad7483977be7a4_fk_wiki_document_id` FOREIGN KEY (`document_id`) REFERENCES `wiki_document` (`id`),
DROP KEY `wiki_revision_ec4f2057`,
DROP KEY `wiki_revision_f97a5119`,
DROP KEY `wiki_revision_841a7e28`,
DROP KEY `wiki_revision_a951d5d6`,
DROP KEY `wiki_revision_created`,
DROP KEY `wiki_revision_c1e306d2`,
DROP KEY `wiki_revision_b2ea1a7c`,
ADD KEY `wiki_revision_document_id_3dad7483977be7a4_fk_wiki_document_id` (`document_id`),
DROP KEY `document_id`;
-- 4 min 11 seconds (no records change)
ALTER TABLE `wiki_revision`
MODIFY `created` datetime(6) NOT NULL;
-- 0 seconds
ALTER TABLE `wiki_revision`
ALTER `created` DROP DEFAULT,
ALTER `is_approved` DROP DEFAULT;
#!/bin/bash -v
echo "Loading prod database..."
mysql test_db < developer_mozilla_org.2016-08-17.sql > load.txt
echo "Looking for constraint violations..."
mysql test_db < fix01_show_constraint_violations.sql | tee fix01.1.txt
echo "Fixing constraint violations..."
mysql test_db < fix02_delete_constraint_violations.sql | tee fix02.txt
echo "Verifying no constraint violations..."
mysql test_db < fix01_show_constraint_violations.sql | tee fix01.1.txt
echo "Modifying schema (fast queries)..."
mysql test_db -vvv < fix03_schema_fast_tables.sql 2> fix03.err.txt | tee fix03.txt
cat fix03.err.txt
echo "Modifying schema (slow queries)..."
mysql test_db -vvv < fix04_schema_slow_tables.sql 2> fix04.err.txt | tee fix04.txt
cat fix04.err.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment