PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.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 / Revenue / Migrations / RemoveRevenueForeignKeys.php
give / src / Revenue / Migrations Last commit date
AddPastDonationsToRevenueTable.php 4 years ago CreateRevenueTable.php 4 years ago RemoveRevenueForeignKeys.php 4 years ago
RemoveRevenueForeignKeys.php
75 lines
1 <?php
2
3 namespace Give\Revenue\Migrations;
4
5 use Give\Framework\Database\DB;
6 use Give\Framework\Migrations\Contracts\Migration;
7
8 /**
9 * Class RemoveRevenueForeignKeys
10 *
11 * @package Give\Revenue\Migrations
12 * @since 2.9.6
13 */
14 class RemoveRevenueForeignKeys extends Migration
15 {
16 /**
17 * @inheritDoc
18 */
19 public static function id()
20 {
21 return 'remove_revenue_foreign_keys';
22 }
23
24 /**
25 * @inheritDoc
26 */
27 public function run()
28 {
29 global $wpdb;
30
31 $this->dropColumnForeignKeyConstraint($wpdb->give_revenue, 'form_id');
32 $this->dropColumnForeignKeyConstraint($wpdb->give_revenue, 'donation_id');
33 }
34
35 /**
36 * @inheritDoc
37 */
38 public static function timestamp()
39 {
40 return strtotime('01-05-2020 12:45:00');
41 }
42
43 /**
44 * Drops the foreign key constraint for a given table and column
45 *
46 * @since 2.9.6
47 *
48 * @param string $table
49 * @param string $column
50 */
51 private function dropColumnForeignKeyConstraint($table, $column)
52 {
53 $constraintName = DB::get_var(
54 DB::prepare(
55 "
56 SELECT constraints.CONSTRAINT_NAME
57 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS as constraints
58 JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE as column_usage
59 ON constraints.CONSTRAINT_NAME = column_usage.CONSTRAINT_NAME
60 WHERE constraints.CONSTRAINT_TYPE = 'FOREIGN KEY'
61 AND constraints.TABLE_NAME = %s
62 AND column_usage.COLUMN_NAME = %s
63 ",
64 $table,
65 $column
66 )
67 );
68
69 if ( ! empty($constraintName)) {
70 // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
71 DB::query("ALTER TABLE {$table} DROP FOREIGN KEY {$constraintName}");
72 }
73 }
74 }
75