PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.8.4
Independent Analytics – WordPress Analytics Plugin v2.8.4
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 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Migrations / Migration_35.php
independent-analytics / IAWP / Migrations Last commit date
Migration.php 1 year ago Migration_10.php 2 years ago Migration_11.php 2 years ago Migration_12.php 1 year ago Migration_13.php 2 years ago Migration_14.php 2 years ago Migration_15.php 2 years ago Migration_16.php 2 years ago Migration_17.php 1 year ago Migration_18.php 2 years ago Migration_19.php 2 years ago Migration_1_0.php 2 years ago Migration_1_6.php 2 years ago Migration_1_8.php 2 years ago Migration_1_9.php 2 years ago Migration_2.php 2 years ago Migration_20.php 2 years ago Migration_21.php 2 years ago Migration_22.php 2 years ago Migration_23.php 2 years ago Migration_24.php 2 years ago Migration_25.php 2 years ago Migration_26.php 2 years ago Migration_27.php 2 years ago Migration_28.php 2 years ago Migration_29.php 2 years ago Migration_3.php 2 years ago Migration_30.php 2 years ago Migration_31.php 2 years ago Migration_32.php 2 years ago Migration_33.php 2 years ago Migration_34.php 1 year ago Migration_35.php 1 year ago Migration_36.php 1 year ago Migration_4.php 2 years ago Migration_5.php 2 years ago Migration_6.php 2 years ago Migration_7.php 1 year ago Migration_8.php 2 years ago Migration_9.php 2 years ago Migration_Job.php 2 years ago Migrations.php 1 year ago Step_Migration.php 1 year ago
Migration_35.php
43 lines
1 <?php
2
3 namespace IAWP\Migrations;
4
5 use IAWP\Database;
6 use IAWP\Query;
7 /** @internal */
8 class Migration_35 extends \IAWP\Migrations\Step_Migration
9 {
10 /**
11 * @return int
12 */
13 protected function database_version() : int
14 {
15 return 35;
16 }
17 /**
18 * @return array
19 */
20 protected function queries() : array
21 {
22 return [$this->maybe_drop_order_table(), $this->create_orders_table(), $this->populate_orders_table()];
23 }
24 private function maybe_drop_order_table() : string
25 {
26 $orders_table = Query::get_table_name(Query::ORDERS);
27 return "\n DROP TABLE IF EXISTS {$orders_table}\n ";
28 }
29 private function create_orders_table() : string
30 {
31 $orders_table = Query::get_table_name(Query::ORDERS);
32 $character_set = Database::character_set();
33 $collation = Database::collation();
34 return "\n CREATE TABLE {$orders_table} (\n order_id BIGINT(20) UNSIGNED AUTO_INCREMENT,\n is_included_in_analytics BOOLEAN NOT NULL, \n \n woocommerce_order_id BIGINT(20) UNSIGNED,\n woocommerce_order_status VARCHAR(64),\n surecart_order_id VARCHAR(36),\n surecart_order_status VARCHAR(64),\n \n view_id BIGINT(20) UNSIGNED NOT NULL,\n initial_view_id BIGINT(20) UNSIGNED NOT NULL,\n \n total INT NOT NULL,\n total_refunded INT NOT NULL,\n total_refunds SMALLINT NOT NULL,\n\n is_discounted BOOLEAN NOT NULL, \n \n created_at DATETIME NOT NULL,\n \n PRIMARY KEY (order_id),\n INDEX(view_id),\n INDEX(initial_view_id),\n INDEX(created_at)\n ) DEFAULT CHARACTER SET {$character_set} COLLATE {$collation};\n ";
35 }
36 private function populate_orders_table() : string
37 {
38 $wc_orders_table = Query::get_table_name(Query::WC_ORDERS);
39 $orders_table = Query::get_table_name(Query::ORDERS);
40 return "\n INSERT INTO {$orders_table} (\n is_included_in_analytics,\n woocommerce_order_id,\n woocommerce_order_status,\n surecart_order_id,\n surecart_order_status,\n view_id,\n initial_view_id,\n total,\n total_refunded,\n total_refunds,\n is_discounted,\n created_at\n )\n SELECT\n IF(status IN('wc-completed', 'completed', 'wc-processing', 'processing', 'wc-refunded', 'refunded', 'wc-shipped', 'shipped', 'wc-partial-shipped', 'partial-shipped', 'wc-delivered', 'delivered', 'wc-sent-to-fba', 'sent-to-fba', 'wc-part-to-fba', 'part-to-fba'), TRUE, FALSE) AS is_included_in_analytics,\n wc.order_id AS woocommerce_order_id,\n wc.status AS woocommerce_order_status,\n NULL AS surecart_order_id,\n NULL AS surecart_order_status,\n wc.view_id AS view_id,\n wc.initial_view_id AS initial_view_id,\n ROUND(wc.total * 100) AS total,\n ROUND(wc.total_refunded * 100) AS total_refunded,\n wc.total_refunds AS total_refunds,\n FALSE AS is_discounted,\n wc.created_at AS created_at\n FROM {$wc_orders_table} AS wc\n ";
41 }
42 }
43