# give/4.16.9/src/Campaigns/Migrations/Tables/CreateCampaignFormsTable.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 66 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/Campaigns/Migrations/Tables/CreateCampaignFormsTable.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/Campaigns/Migrations/Tables/CreateCampaignFormsTable.php
- Modified: 2025-03-31T19:17:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.9/code/src/Campaigns/Migrations/Tables/CreateCampaignFormsTable.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Migrations\Tables;

use Give\Framework\Database\DB;
use Give\Framework\Database\Exceptions\DatabaseQueryException;
use Give\Framework\Migrations\Contracts\Migration;
use Give\Framework\Migrations\Exceptions\DatabaseMigrationException;

/**
 * @since 4.0.0
 * Creates give_campaign_forms table
 */
class CreateCampaignFormsTable extends Migration
{
    /**
     * @inheritdoc
     */
    public static function id(): string
    {
        return 'give-campaigns-create-give-campaign-forms-table';
    }

    /**
     * @inheritdoc
     */
    public static function title(): string
    {
        return 'Create give_campaign_forms table';
    }

    /**
     * @inheritdoc
     */
    public static function timestamp(): string
    {
        return strtotime('2024-08-26 00:00:01');
    }

    /**
     * @inheritDoc
     * @throws DatabaseMigrationException
     */
    public function run(): void
    {
        global $wpdb;

        $table = $wpdb->give_campaign_forms;
        $charset = DB::get_charset_collate();

        $sql = "CREATE TABLE $table (
            campaign_id INT UNSIGNED NOT NULL,
            form_id INT UNSIGNED NOT NULL,
            KEY form_id (form_id),
            KEY campaign_id (campaign_id),
            PRIMARY KEY (campaign_id, form_id)
        ) $charset";

        try {
            DB::delta($sql);
        } catch (DatabaseQueryException $exception) {
            throw new DatabaseMigrationException("An error occurred while creating the $table table", 0, $exception);
        }
    }
}

```
