PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.7.2
Independent Analytics – WordPress Analytics Plugin v2.7.2
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / IAWP / Migrations / Migration_12.php
Migration_12.php
27 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Migrations;
4
5 use IAWP\Query;
6 /** @internal */
7 class Migration_12 extends \IAWP\Migrations\Migration
8 {
9 /**
10 * @var string
11 */
12 protected $database_version = '12';
13 /**
14 * @return void
15 */
16 protected function migrate() : void
17 {
18 global $wpdb;
19 $wc_orders_table = Query::get_table_name(Query::WC_ORDERS);
20 $wc_order_stats_table = $wpdb->prefix . 'wc_order_stats';
21 $wpdb->query("\n ALTER TABLE {$wc_orders_table} \n ADD COLUMN total DOUBLE,\n ADD COLUMN total_refunded DOUBLE,\n ADD COLUMN total_refunds SMALLINT,\n ADD COLUMN status VARCHAR(200);\n ");
22 if (\IAWPSCOPED\iawp()->is_woocommerce_support_enabled()) {
23 $wpdb->query("\n UPDATE\n {$wc_orders_table} AS wc_orders\n LEFT JOIN (\n SELECT\n wc_order_stats.order_id,\n wc_order_stats.status,\n wc_order_stats.total_sales,\n IFNULL(ABS(SUM(refunds.total_sales)), 0) AS total_refunded,\n COUNT(DISTINCT refunds.order_id) AS total_refunds\n FROM\n {$wc_orders_table} AS wc_orders\n JOIN {$wc_order_stats_table} AS wc_order_stats ON wc_orders.order_id = wc_order_stats.order_id\n LEFT JOIN {$wc_order_stats_table} AS refunds ON wc_order_stats.order_id = refunds.parent_id\n AND refunds.total_sales < 0\n GROUP BY\n wc_order_stats.order_id\n ) AS wc_order_stats ON wc_orders.order_id = wc_order_stats.order_id\n SET\n wc_orders.status = wc_order_stats.status,\n wc_orders.total = wc_order_stats.total_sales,\n wc_orders.total_refunded = wc_order_stats.total_refunded,\n wc_orders.total_refunds = wc_order_stats.total_refunds;\n ");
24 }
25 }
26 }
27