# fluentform/6.2.4/app/Modules/Payments/Migrations/Migration.php

Fluent Forms – Customizable Contact Forms, Survey, Quiz, &amp; Conversational Form Builder, version 6.2.4. 40 lines.

- Page: https://pluginprobe.com/plugins/fluentform/6.2.4/code/app/Modules/Payments/Migrations/Migration.php
- Raw: https://pluginprobe.com/plugins/fluentform/6.2.4/raw/app/Modules/Payments/Migrations/Migration.php
- Modified: 2025-11-12T11:25:50+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/fluentform/6.2.4/code/app/Modules/Payments/Migrations/Migration.php#L10-L20`.

```php
<?php

namespace FluentForm\App\Modules\Payments\Migrations;

if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly.
}

class Migration
{
    public static function run($network_wide = false)
    {
        global $wpdb;
        if ($network_wide) {
            // Retrieve all site IDs from this network (WordPress >= 4.6 provides easy to use functions for that).
            if (function_exists('get_sites') && function_exists('get_current_network_id')) {
                $site_ids = get_sites(array('fields' => 'ids', 'network_id' => get_current_network_id()));
            } else {
                // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- Multisite migration, direct query needed
                $site_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs WHERE site_id = $wpdb->siteid;");
            }
            // Install the plugin for all these sites.
            foreach ($site_ids as $site_id) {
                switch_to_blog($site_id);
                self::migrate();
                restore_current_blog();
            }
        } else {
            self::migrate();
        }
    }

    public static function migrate()
    {
        OrderItems::migrate();
        Transactions::migrate();
        OrderSubscriptions::migrate();
    }
}

```
