PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.2
GiveWP – Donation Plugin and Fundraising Platform v4.16.2
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 / UpdateProductID.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
UpdateProductID.php
73 lines
1 <?php
2
3 namespace Give\Subscriptions\Migrations;
4
5 use Give\Donations\ValueObjects\DonationMetaKeys;
6 use Give\Framework\Database\DB;
7 use Give\Framework\Database\Exceptions\DatabaseQueryException;
8 use Give\Framework\Migrations\Contracts\Migration;
9 use Give\Framework\Migrations\Exceptions\DatabaseMigrationException;
10
11 /**
12 * @since 4.12.0
13 *
14 * During the v2 form data transfer to the v3 form
15 * we update the _give_payment_form_id in donations meta table to reference the new v3 form id
16 * but that update was not reflected in give_subscriptions.product_id prior to this migration
17 *
18 * This migration will update all subscriptions that do not have the correct product_id value
19 */
20 class UpdateProductID extends Migration
21 {
22 /**
23 * @inheritDoc
24 */
25 public static function id(): string
26 {
27 return 'update_transferred_subscriptions_product_id';
28 }
29
30 /**
31 * @inheritDoc
32 */
33 public static function title(): string
34 {
35 return 'Update subscriptions to reflect the v2 form data transfer to the v3 form';
36 }
37
38 /**
39 * @inheritdoc
40 */
41 public static function timestamp(): string
42 {
43 return strtotime('2025-10-15 00:00:00');
44 }
45
46 /**
47 * @inheritDoc
48 *
49 * @throws DatabaseMigrationException
50 */
51 public function run()
52 {
53 try {
54 $query = <<<SQL
55 UPDATE %s AS subscriptions
56 INNER JOIN %s revenue
57 ON subscriptions.parent_payment_id = revenue.donation_id
58 SET subscriptions.product_id = revenue.form_id
59 WHERE subscriptions.product_id != revenue.form_id
60 SQL;
61
62 DB::query(sprintf(
63 $query,
64 DB::prefix('give_subscriptions'),
65 DB::prefix('give_revenue')
66 ));
67 } catch (DatabaseQueryException $exception) {
68 throw new DatabaseMigrationException("An error occurred while updating the give_subscriptions table",
69 0, $exception);
70 }
71 }
72 }
73