Make --dbname and --dbuser optional when SQLite integration is active#219
Open
Make --dbname and --dbuser optional when SQLite integration is active#219
--dbname and --dbuser optional when SQLite integration is active#219Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
…n and skip MySQL check for SQLite Agent-Logs-Url: https://github.com/wp-cli/config-command/sessions/8f9ece6b-b44b-4ac7-87e2-35bad2b2afff Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix SQLite compatibility issue in db creation tests
Make Apr 1, 2026
--dbname and --dbuser optional when SQLite integration is active
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This comment was marked as resolved.
This comment was marked as resolved.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/Config_Command.php
Outdated
Comment on lines
123
to
127
| * [--dbname=<dbname>] | ||
| * : Set the database name. | ||
| * | ||
| * --dbuser=<dbuser> | ||
| * [--dbuser=<dbuser>] | ||
| * : Set the database user. |
There was a problem hiding this comment.
The synopsis now marks --dbname/--dbuser as optional, but they’re still required for non-SQLite installs (enforced later in create()). To avoid misleading wp help config create output, consider updating the option descriptions to explicitly state “Required unless SQLite integration drop-in is detected.”
…d Behat scenario for missing dbname/dbuser Agent-Logs-Url: https://github.com/wp-cli/config-command/sessions/53294434-a981-4597-8efc-1a642de88b29 Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
wp config createunconditionally requires--dbnameand--dbuser, making it impossible to create a config for a SQLite-backed WordPress install without supplying MySQL credentials that will never be used.Changes
--dbnameand--dbuserare now[--dbname]/[--dbuser]in the docblock synopsis, with descriptions clarifying they are required unless the SQLite integration drop-in is detected.is_sqlite_integration_active()checks for an actualSQLITE_DB_DROPIN_VERSIONconstant definition inwp-content/db.php(reads first 8 KB only) usingis_file()/is_readable()guards and a regex match to avoid false positives from comments or strings.--dbnameor--dbuserstill produces an explicit error — existing MySQL/MariaDB behaviour is unchanged.mysqliconnection check is bypassed entirely when SQLite is detected, so--skip-checkis not required.@require-sqliteBehat scenario: Verifieswp config createsucceeds without--dbname/--dbuserwhen the SQLite drop-in is present.@require-mysqlBehat scenario: Asserts exit code 1 and the expected error messages when--dbnameor--dbuserare omitted on a non-SQLite install, keeping this validation stable going forward.