{"id":357327,"date":"2026-08-25T14:25:52","date_gmt":"2026-08-25T14:25:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpma-migration-sql\/"},"modified":"2026-08-25T14:25:40","modified_gmt":"2026-08-25T14:25:40","slug":"overl1te-migration-sql","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/overl1te-migration-sql\/","author":23553239,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Overl1te Migration SQL","header_author":"Overl1te","header_description":"Generate SQL to migrate WordPress databases: table dumps, schema, and local-to-production URL replacement.","assets_banners_color":"08417d","last_updated":"2026-08-25 14:25:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Overl1te\/wp-migration-assistant","header_author_uri":"https:\/\/overl1te.ru","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.1":{"tag":"1.3.1","author":"overl1te","date":"2026-08-25 14:25:40"}},"upgrade_notice":{"1.3.1":"<p>Display name and text domain updated to Overl1te Migration SQL.<\/p>","1.3.0":"<p>Admin UI strings are now in English and translatable. Uninstall removes stored history.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3665491,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3665491,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3665491,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3665491,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[153,87,4155,12126,1625],"plugin_category":[59],"plugin_contributors":[277421],"plugin_business_model":[],"class_list":["post-357327","plugin","type-plugin","status-publish","hentry","plugin_tags-database","plugin_tags-import","plugin_tags-migration","plugin_tags-search-replace","plugin_tags-sql","plugin_category-utilities-and-tools","plugin_contributors-overl1te","plugin_committers-overl1te"],"banners":{"banner":"https:\/\/ps.w.org\/overl1te-migration-sql\/assets\/banner-772x250.png?rev=3665491","banner_2x":"https:\/\/ps.w.org\/overl1te-migration-sql\/assets\/banner-1544x500.png?rev=3665491","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/overl1te-migration-sql\/assets\/icon-128x128.png?rev=3665491","icon_2x":"https:\/\/ps.w.org\/overl1te-migration-sql\/assets\/icon-256x256.png?rev=3665491","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Overl1te Migration SQL helps you move a WordPress site between environments by generating SQL you run yourself. It does not change the live database until you (or your DBA) execute the generated statements.<\/p>\n\n<p>The plugin is intended for administrators who already make database backups and understand SQL. Typical uses:<\/p>\n\n<ul>\n<li>Export table structure and optional INSERT data, with the new domain substituted in text values.<\/li>\n<li>Generate UPDATE \u2026 REPLACE statements for selected tables when only URLs need to change.<\/li>\n<li>Preview how many rows would match (dry run) before you generate replacement SQL.<\/li>\n<li>Upload a production <code>.sql<\/code> dump, detect its prefix and domain, and generate a finish patch (URL replace, prefix rename, missing columns).<\/li>\n<li>Copy ready-made WP-CLI <code>search-replace<\/code> commands, which are safer for serialized data.<\/li>\n<\/ul>\n\n<h4>What it does not do<\/h4>\n\n<ul>\n<li>It does not execute migration SQL against production for you.<\/li>\n<li>It does not upload dumps to a remote host or phone home.<\/li>\n<li>It does not rewrite post GUIDs (by design).<\/li>\n<li>Plain SQL REPLACE can break PHP serialized strings. Use WP-CLI for those leftovers.<\/li>\n<\/ul>\n\n<h4>Safety<\/h4>\n\n<p>Only users with the <code>manage_options<\/code> capability can open the plugin. All form actions use WordPress nonces. Uploaded dumps are read from the temporary upload file and are not stored in the media library. Always take a full database backup before running generated SQL.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin stores a short generation history in a WordPress option on the site where it is installed. History and SQL transients are removed when you uninstall the plugin. No data is sent to third parties.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>overl1te-migration-sql<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the zip via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Open <strong>Migration SQL<\/strong> in the admin menu.<\/li>\n<li>Generate SQL, download the <code>.sql<\/code> file, and run it on the target database after a backup.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20my%20database%3F\"><h3>Does this plugin modify my database?<\/h3><\/dt>\n<dd><p>No. It generates SQL (and WP-CLI commands) for you to review and run. The dry-run action only counts matching rows.<\/p><\/dd>\n<dt id=\"will%20serialized%20data%20stay%20valid%3F\"><h3>Will serialized data stay valid?<\/h3><\/dt>\n<dd><p>SQL <code>REPLACE()<\/code> does not update serialized string lengths. After a domain change, run WP-CLI <code>search-replace<\/code> for remaining serialized values. The plugin prints those commands on its admin page.<\/p><\/dd>\n<dt id=\"does%20it%20support%20wordpress%20multisite%3F\"><h3>Does it support WordPress multisite?<\/h3><\/dt>\n<dd><p>Yes. On a network it can include tables for all sites (blog prefixes plus shared tables such as usermeta).<\/p><\/dd>\n<dt id=\"why%20are%20post%20guids%20left%20unchanged%3F\"><h3>Why are post GUIDs left unchanged?<\/h3><\/dt>\n<dd><p>WordPress uses <code>guid<\/code> as a unique identifier, not as a public permalink. Changing it is usually unnecessary and can confuse feed readers.<\/p><\/dd>\n<dt id=\"what%20should%20i%20do%20after%20importing%20sql%3F\"><h3>What should I do after importing SQL?<\/h3><\/dt>\n<dd><p>Visit Settings \u2192 Permalinks and click Save. Then verify <code>siteurl<\/code> \/ <code>home<\/code> and log in on the target site.<\/p><\/dd>\n<dt id=\"can%20i%20restore%20a%20previous%20sql%20generation%3F\"><h3>Can I restore a previous SQL generation?<\/h3><\/dt>\n<dd><p>The plugin keeps the last five generations. Structure dumps with INSERT data store only a preview in history; download the full SQL while it is still on the page.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Rename the plugin to Overl1te Migration SQL to follow WordPress.org naming guidelines.<\/li>\n<li>Update Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Prepare the plugin for the WordPress.org directory: English UI, readme.txt, uninstall cleanup, and enqueued assets.<\/li>\n<li>Switch the license to MIT.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add production-dump analysis, dry run, generation history, SQL download, and WP-CLI helpers.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: table structure SQL and domain replacement SQL.<\/li>\n<\/ul>","raw_excerpt":"Generate SQL for WordPress migrations: dump tables with data, replace local URLs, and finish production dumps.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357327"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/overl1te"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357327"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357327"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357327"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357327"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357327"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}