Phabricator offers a bin/storage shell
command. It allows to run the mysql
client with the options from the application configuration.
That’s useful in a modern distributed environment, when it’s not always straightforward to know what server contains what databases and what credentials to use. In a Docker container, for example, that could be a linked container or a dedicated bare metal instance.
As Laravel offers standardisation of the configuration, we can provide such a command not only for MySQL but also for PostGreSQL, SQLite and SQL Server.
The only requirement is to get the relevant client installed on the machine.
To implement it into your application, you can drop DatabaseShell.php to your app/Console/Commands/
folder. (last commit at post writing)
To run it, use php artisan db:shell
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ shell docker nasqueron-auth-grove app@0c62f2315807:/var/wwwroot/default$ php artisan db:shell Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9643865 Server version: 5.7.17 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
This post has been last updated 2017-02-09.