{"id":19008549,"date":"2026-09-01T12:31:02","date_gmt":"2026-09-01T12:31:02","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/givewp-database-migrations-stuck-after-update\/"},"modified":"2026-09-01T12:31:02","modified_gmt":"2026-09-01T12:31:02","slug":"givewp-database-migrations-stuck-after-update","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/givewp-database-migrations-stuck-after-update\/","title":{"rendered":"GiveWP database migrations stuck after update"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hello,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019m running GiveWP 4.16.7.2 on WordPress 6.8.8, PHP 8.3.31 and MySQL 8.0.43.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After updating GiveWP, I noticed that the database migrations are in an inconsistent\/stuck state.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Current migration status:<\/p>\n\n\n\n<ul>\n<li>#27 \u201cCreate give_campaigns table from core\u201d = Failed<\/li>\n\n\n\n<li>#28\u201334 = Success<\/li>\n\n\n\n<li>#35 \u201cAdd campaign id to donations\u201d = Running<\/li>\n\n\n\n<li>#36\u201347 = Pending<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Migration #27 reports:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>An error occurred while creating the wp_give_campaigns table<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, both <code>wp_give_campaigns<\/code> and <code>wp_give_campaign_forms<\/code> already exist in the database and currently contain 11 rows each.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I temporarily enabled \u201cAdvanced Database Updates\u201d only to inspect the available actions. I did not rerun, reverse, or force any migration, and I disabled the option again afterward.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I have already completed the following checks:<\/p>\n\n\n\n<ul>\n<li>full database backup<\/li>\n\n\n\n<li>full site files backup<\/li>\n\n\n\n<li>resaved WordPress permalinks<\/li>\n\n\n\n<li>cleared WordPress\/plugin cache<\/li>\n\n\n\n<li>deactivated and reactivated GiveWP<\/li>\n\n\n\n<li>checked GiveWP logs; no recent MySQL or migration errors are visible apart from the migration status above<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Server environment:<\/p>\n\n\n\n<ul>\n<li>WordPress 6.8.8<\/li>\n\n\n\n<li>GiveWP 4.16.7.2<\/li>\n\n\n\n<li>PHP 8.3.31, FPM<\/li>\n\n\n\n<li>MySQL 8.0.43<\/li>\n\n\n\n<li>PHP memory limit: 512M<\/li>\n\n\n\n<li>WordPress max memory: 512M<\/li>\n\n\n\n<li>PHP time limit: 300 seconds<\/li>\n\n\n\n<li>MySQL max_allowed_packet: 64 MB<\/li>\n\n\n\n<li>Database size: approximately 13 MB<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Security context:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We recently received multiple automated fake pending donations containing malicious serialized payloads. GiveWP has already been updated to 4.16.7.2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The filesystem was checked for the files those malicious requests appeared to attempt to create, and those files were not found.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, migration #47:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Sanitize serialized object payloads from meta tables and sessions<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">is still Pending because the earlier migrations have not completed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I am therefore concerned not only about the stuck migration state, but also about ensuring that the security-related cleanup migration is completed correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Could you please advise the safest supported procedure to repair the migration state and complete migrations #35\u201347 without damaging the existing campaign, donation, and donor data?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I can provide screenshots of the migration list, migration #27 error details, and system information if needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you.<\/p>\n","protected":false},"template":"","class_list":["post-19008549","topic","type-topic","status-publish","hentry","topic-tag-campaigns","topic-tag-database-migration","topic-tag-givewp","topic-tag-migration"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19008549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19008549\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=19008549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}