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