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 / AddCampaignId.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
AddCampaignId.php
75 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\Contracts\ReversibleMigration;
9 use Give\Framework\Migrations\Exceptions\DatabaseMigrationException;
10
11 /**
12 * @since 4.11.0
13 */
14 class AddCampaignId extends Migration implements ReversibleMigration
15 {
16 /**
17 * @inheritDoc
18 */
19 public static function id(): string
20 {
21 return 'add_campaign_id_to_subscriptions';
22 }
23
24 /**
25 * @inheritDoc
26 */
27 public static function title(): string
28 {
29 return 'Add campaign id to subscriptions';
30 }
31
32 /**
33 * @inheritdoc
34 */
35 public static function timestamp(): string
36 {
37 return strtotime('2025-10-16 00:00:00');
38 }
39
40 /**
41 * @inheritDoc
42 *
43 * @throws DatabaseMigrationException
44 */
45 public function run()
46 {
47 try {
48 $query = <<<SQL
49 UPDATE %s AS subscriptions
50 JOIN %s campaignForms
51 ON subscriptions.product_id = campaignForms.form_id
52 SET subscriptions.campaign_id = campaignForms.campaign_id
53 SQL;
54
55 DB::query(sprintf(
56 $query,
57 DB::prefix('give_subscriptions'),
58 DB::prefix('give_campaign_forms')
59 ));
60 } catch (DatabaseQueryException $exception) {
61 throw new DatabaseMigrationException("An error occurred while adding campaign ID to the give_subscriptions table",
62 0, $exception);
63 }
64 }
65
66
67 /**
68 * @inheritDoc
69 */
70 public function reverse(): void
71 {
72 DB::table('give_subscriptions')->update(['campaign_id' => null]);
73 }
74 }
75