Skip to content

Multisite deployment fails when database tables are not present #482

@o1y

Description

@o1y

Multisite deployment is not working on a fresh provisioned DO droplet because a few WP_CLI tasks defined in deploy hook finalize-after.yml require installed wordpress database tables. For example the task "WordPress Installed?" throws an error regarding missing tables:

WordPress database error Table 'example_prod.wp_blogs' doesn't exist for query SELECT * FROM wp_blogs WHERE domain = 'example.com' AND path = '/' made by include('phar:///usr/bin/wp/php/boot-phar.php'), include('phar:///usr/bin/wp/php/wp-cli.php'), WP_CLI\Runner->start, WP_CLI\Runner->load_wordpress, require('phar:///usr/bin/wp/php/wp-settings-cli.php'), require('wp-includes/ms-settings.php'), get_site_by_path
WordPress database error Table 'example_prod.wp_sitemeta' doesn't exist for query SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'site_name' AND site_id = 1 made by include('phar:///usr/bin/wp/php/boot-phar.php'), include('phar:///usr/bin/wp/php/wp-cli.php'), WP_CLI\Runner->start, WP_CLI\Runner->load_wordpress, require('phar:///usr/bin/wp/php/wp-settings-cli.php'), require('wp-includes/ms-settings.php'), WP_Network->__construct, WP_Network->_set_site_name, get_network_option
WordPress database error Table 'example_prod.wp_sitemeta' doesn't exist for query SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'siteurl' AND site_id = 1 made by include('phar:///usr/bin/wp/php/boot-phar.php'), include('phar:///usr/bin/wp/php/wp-cli.php'), WP_CLI\Runner->start, WP_CLI\Runner->load_wordpress, require('phar:///usr/bin/wp/php/wp-settings-cli.php'), wp_cookie_constants, get_site_option, get_network_option

Installing the missing tables manually using WP_CLI on the droplet fixes the error:

wp core multisite-install --allow-root --title="Test" --admin_user="admin" --admin_password="admin" --admin_email="[email protected]"

I think this task should be added to trellis in the future because the user gets confused by the failed deployment and/or error message.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions