6 mysql sql wordpress orders woocommerce
最近,我的服务器团队更换了我的数据库,他们将我们以前的数据库放入其中。因此,我们丢失了某一天[特定日期]的订单详细信息。现在,服务器团队提供包含丢失当天订单详细信息的备份。
现在请告诉我如何恢复这些订单?
我无法用给定的备份替换我们的数据库,因为今天我们也有订单。
谁能告诉一步一步的说明吗?
我创建了一个新数据库并上传了备份。我知道订单保存在 wp_posts 和 post meta 中。
那么我需要做什么?,我从 wp_posts 导出该日期的所有订单,并将元发布为 sql 文件。然后只需将其导入到当前数据库?这有什么问题吗?
这种情况非常复杂,因为正如您可以猜测的那样,您在两个数据库(在备份和实际数据库中)中肯定有不同订单的相同订单 ID。\n当下订单时,它会填充数据库表“post”、“postmeta” “(也许还有一些与某些 wooCommerce 插件创建的 woocommerce 相关的额外表)。
\n\n检索丢失的数据:
\n首先在“post”备份表中,您必须找到所有具有shop_order “post_type”的“post_id”,从特定日期开始:
\n SELECT * FROM \'posts\' WHERE \'post_date\' > \'2016-03-15 00:00:00\' AND \'post_type\' LIKE \'shop_order\' ORDER BY \'post_id\' ASC
\n (您必须在这里)
使用所有这些post_id,您将检索“postmeta”表中的所有相关数据:
\n SELECT * FROM \'postmeta\' WHERE \'post_id\' > 2059 ORDER BY \'meta_id\' ASC
\n (您必须将post_id "2059" 替换为相应的真实的 \xe2\x80\xa6 )
准备要插入的新数据:
\n对于“posts”表,在将“post_id”插入到实际数据库之前,您必须先移动“post_id”的所有不同 ID 号,并使用新的不存在的值,具体取决于您已使用的 ID实际数据库。
对于“postmeta”表,您必须将所有旧的“post_id”替换为刚刚在“posts”表中生成的新值。
\n\n您必须将您的商店置于维护模式以避免新订单(例如使用此免费的维护模式插件)
\n\n你必须习惯 MySQL,我认为最好在你的网上商店的复制版本中测试所有内容。在\xe2\x80\xa6之前进行备份
\n\n\n\n\n编辑\n 正如您在这篇wordpress.stackexchange 帖子
\n
中所说,您的网站和数据库非常重,您的网站为 10 Gb,数据库为 2 Gb。\n 最快捷、最简单的方法:\n 因此,最好的选择可能是在导入包含错过的订单的备份的同一台服务器上创建一个新数据库。完成后,您可以执行以下步骤\n 1) 将您的网上商店置于维护模式(例如使用此免费的维护模式插件)。\n 2) 备份数据库(以防万一)。\n 3) 在您的 wp-config.php 文件中更改数据库(更改为未接订单的旧数据库)。\n 4) 立即激活并启用维护模式插件。\n 5) 安装WooCommerce Simply Order Export插件并启用它。\n 6) 将一日缺失订单数据导出为 CSV 或 XML 文件。\n 7) 在您的 wp-config.php 文件中更改数据库(更改为包含所有新订单的实际数据库)。\n 8) 启用WooCommerce Simply Order Export并导入 CSV(或 XML)文件。\n 8) 禁用WooCommerce Simply Order Export和 维护模式插件(如果需要,可以删除它们)。\n \n你已经完成了!\n 感谢Mehul Gohil在那篇文章中
问候
\n| 归档时间: |
|
| 查看次数: |
7733 次 |
| 最近记录: |