Using Takeout with local Valet and Docker sites
Published on by Eric L. Barnes
I've loved Laravel Valet since it was released in 2016 and have used it since. I think that launch video sold me on it :)
One thing I ran into, though, is that I do have many projects that are old that I occasionally need to work on or update but they might require older versions of PHP or have other requirements that I don't feel like adding to my computer, so I'll use Docker on them.
Of course, this is fine but I felt it was always odd to have all the databases on different containers so I started using Laravel Takeout by Tighten as my database server and get connected to it from all my local sites.
From a Valet site, I can use this .env:
DB_CONNECTION=mysqlDB_HOST=127.0.0.1
Then, from a Docker site, I can use the following:
DB_CONNECTION=mysqlDB_HOST=host.docker.internal
With that, all my databases can live in one place and it makes context-switching easier for me. Now from Tableplus, SQLPro, or whatever client you prefer, all your databases are there for you to use and switch between.
Laravel Takeout also supports many other services included Postgres, MSSQL, ElasticSearch, MeiliSearch, Redis, Memcached, and more. So you can keep all those isolated to it and do the same pattern to connect to it for each one you need.
Eric is the creator of Laravel News and has been covering Laravel since 2012.