PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Subscriptions / Migrations / CreateSubscriptionTables.php
give / src / Subscriptions / Migrations Last commit date
AddCampaignId.php 8 months ago AddCampaignIdColumn.php 8 months ago AddPaymentModeToSubscriptionTable.php 3 years ago BackfillMissingCampaignIdForDonations.php 1 year ago CreateSubscriptionTables.php 4 years ago UpdateProductID.php 8 months ago
CreateSubscriptionTables.php
77 lines
1 <?php
2
3 namespace Give\Subscriptions\Migrations;
4
5 use Give\Framework\Database\DB;
6 use Give\Framework\Database\Exceptions\DatabaseQueryException;
7 use Give\Framework\Migrations\Contracts\Migration;
8 use Give\Framework\Migrations\Exceptions\DatabaseMigrationException;
9
10 class CreateSubscriptionTables extends Migration
11 {
12 public static function id()
13 {
14 return 'create_subscription_tables';
15 }
16
17 public function run()
18 {
19 global $wpdb;
20
21 $charset_collate = $wpdb->get_charset_collate();
22 $subscriptionTableName = "{$wpdb->prefix}give_subscriptions";
23 $metaTableName = "{$wpdb->prefix}give_subscriptionmeta";
24
25 try {
26 DB::delta(
27 "
28 CREATE TABLE `$subscriptionTableName` (
29 `id` bigint(20) NOT NULL AUTO_INCREMENT,
30 `customer_id` bigint(20) NOT NULL,
31 `period` varchar(20) NOT NULL,
32 `frequency` bigint(20) NOT NULL DEFAULT '1',
33 `initial_amount` decimal(18,10) NOT NULL,
34 `recurring_amount` decimal(18,10) NOT NULL,
35 `recurring_fee_amount` decimal(18,10) NOT NULL,
36 `bill_times` bigint(20) NOT NULL,
37 `transaction_id` varchar(60) NOT NULL,
38 `parent_payment_id` bigint(20) NOT NULL,
39 `product_id` bigint(20) NOT NULL,
40 `created` datetime NOT NULL,
41 `expiration` datetime NOT NULL,
42 `status` varchar(20) NOT NULL,
43 `profile_id` varchar(60) NOT NULL,
44 `notes` longtext NOT NULL,
45 PRIMARY KEY (`id`),
46 KEY `profile_id` (`profile_id`),
47 KEY `customer` (`customer_id`),
48 KEY `transaction` (`transaction_id`),
49 KEY `customer_and_status` (`customer_id`,`status`)
50 ) $charset_collate;
51 "
52 );
53
54 DB::delta(
55 "
56 CREATE TABLE `$metaTableName` (
57 `meta_id` bigint(20) NOT NULL AUTO_INCREMENT,
58 `subscription_id` bigint(20) NOT NULL,
59 `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
60 `meta_value` longtext COLLATE utf8mb4_unicode_520_ci,
61 PRIMARY KEY (`meta_id`),
62 KEY `subscription_id` (`subscription_id`),
63 KEY `meta_key` (`meta_key`(191))
64 ) $charset_collate;
65 "
66 );
67 } catch (DatabaseQueryException $exception) {
68 throw new DatabaseMigrationException('An error occurred creating the subscription tables', 0, $exception);
69 }
70 }
71
72 public static function timestamp()
73 {
74 return strtotime('2022-03-30');
75 }
76 }
77