I'm cloning my existing (and working) Laravel project from github to start a new. Creating a fresh copy of .env and populating from .env.example. Then trying usual "composer update (or install)" and "php artisan key:generate" procedure like always. But any command with artisan or composer ends up with this error:

SQLSTATE[HY000] [2002] No such file or directory (SQL: select `image_resize` from `settings` where `id` = 1 limit 1)

SQLSTATE[HY000] [2002] No such file or directory

I'm using MAMP and have populated .env file with correct and working DB info (Database is empty for now)

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=new_proj_db
DB_USERNAME=root
DB_PASSWORD=root

I'm aware that this is a database problem but i cannot even populate my db with dummy info using factories and seeding. They all end up with the same error "SQLSTATE[HY000]......" I cannot generate key or update composer dependencies.

Maybe i should comment out some code that cause this problem. (SQL: select image_resize from settings where .....) 'image_size' and 'settings' are my code but i cant't understand why those cause a problem on a fresh install.

Apparently i'm missing something really simple and open to any suggestions.

2 Answers

0
Maciek On

Try to do migration. Type in console inside your project dir php artisan migrate

0
megavolkan On

I've found the problem. In 'Providers/AppServiceProvider.php' under register() method i had defined some global configurations which use db connections. To my understanding any time you make a request to laravel those functions are run first, because the database is not ready at the very beginning of the project an error is returned. I've commented out those lines, used composer install, key:generate as usual and migrated and seeded the database. Then added those lines back in. Now everything is ok.