# fluent-smtp/trunk/database/FluentMailDBMigrator.php

FluentSMTP – WP Mail SMTP Plugin with Amazon SES, SendGrid, Mailgun, Postmark, Cloudflare, toSend, Gmail and Any SMTP, version trunk. 46 lines.

- Page: https://pluginprobe.com/plugins/fluent-smtp/trunk/code/database/FluentMailDBMigrator.php
- Raw: https://pluginprobe.com/plugins/fluent-smtp/trunk/raw/database/FluentMailDBMigrator.php
- Modified: 2026-08-05T09:20: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/fluent-smtp/trunk/code/database/FluentMailDBMigrator.php#L10-L20`.

```php
<?php

require_once(ABSPATH.'wp-admin/includes/upgrade.php');
require_once(FLUENTMAIL_PLUGIN_PATH.'database/migrations/EmailLogs.php');

class FluentMailDBMigrator
{
    public static function run($network_wide = false)
    {
        global $wpdb;

        if ($network_wide ) {
            if (function_exists('get_sites') && function_exists('get_current_network_id')) {
                $site_ids = get_sites(['fields' => 'ids', 'network_id' => get_current_network_id(), 'number' => 0]);
            } else {
                $site_ids = $wpdb->get_col(
                    $wpdb->prepare(
                        "SELECT blog_id FROM $wpdb->blogs WHERE site_id = %d",
                        $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()
    {
        \FluentMailMigrations\EmailLogs::migrate();
    }
}

if (!isset($network_wide)) {
    $network_wide = false;
}

FluentMailDBMigrator::run($network_wide);

```
