Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8.x] DB command: Cope with missing driver parameters for mysql #39582

Merged
merged 1 commit into from
Nov 12, 2021

Conversation

vroomfondle
Copy link
Contributor

The problem

We don't expose our mysql installation via unix sockets (we only use network connections). Therefore our mysql config in config/database.php does not have a unix_socket entry.

This was causing the DB command to fail:

vagrant@dev:/var/www/api$ artisan db mysql 

In DbCommand.php line 138:
                                     
  Undefined array key "unix_socket"  
                                     

Discussion

As the unix socket is not necessarily required to connect to a mysql database, it seems sensible to ignore it if it's not present rather than throwing an error. The charset is also not required to connect.

Implementation

I have used the null coalescence operator to supply a blank string as default, which means getOptionalArguments() will filter it out and the socket/charset arguments won't be passed in the command string.

A similar change might be applicable for the other database drivers, but I do not have as much experience with them and don't have any instances to test against, so I have not changed those methods.

Testing

I've tested this locally against our mysql 8 installation and it works. I could not find any relevant unit tests to update but am happy to do so if somebody points me in the right direction.

@GrahamCampbell GrahamCampbell changed the title DB command: Cope with missing driver parameters for mysql [8.x] DB command: Cope with missing driver parameters for mysql Nov 11, 2021
@taylorotwell taylorotwell merged commit f1a6b82 into laravel:8.x Nov 12, 2021
@taylorotwell
Copy link
Member

Thanks for contributing to Laravel! ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants