homesteadを用いてlaravel環境を構築し、DBをpgsqlに接続しようとしています。
php artisan migrateの実行結果が以下です。
Illuminate\Database\QueryException SQLSTATE[08006] [7] connection to server at "127.0.0.1", port 5432 failed: FATAL: role "homestead" does not exist (SQL: select * from information_schema.tables where table_schema = public and table_name = migrations and table_type = 'BASE TABLE') at vendor/laravel/framework/src/Illuminate/Database/Connection.php:703 699▕ // If an exception occurs when attempting to run a query, we'll format the error 700▕ // message to include the bindings with SQL, which will make this exception a 701▕ // lot more helpful to the developer instead of just the database's errors. 702▕ catch (Exception $e) { ➜ 703▕ throw new QueryException( 704▕ $query, $this->prepareBindings($bindings), $e 705▕ ); 706▕ } 707▕ } +33 vendor frames 34 artisan:37 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
homestead内でvagrant sshでログインし、postgresに作成したDBは確認できます。
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-----------+----------+-------------+-------------+----------------------- homestead | homestead | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres todo | homestead | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (5 rows)
laravelのenvとdetabase.phpをいかに記載します。
env
1DB_CONNECTION=pgsql 2DB_HOST=127.0.0.1 3DB_PORT=5432 4DB_DATABASE=todo 5DB_USERNAME=homestead 6DB_PASSWORD=secret
database
1'default' => env('DB_CONNECTION', 'pgsql'), 2 3'pgsql' => [ 4 'driver' => 'pgsql', 5 'url' => env('DATABASE_URL'), 6 'host' => env('DB_HOST', '127.0.0.1'), 7 'port' => env('DB_PORT', '5432'), 8 'database' => env('DB_DATABASE', 'forge'), 9 'username' => env('DB_USERNAME', 'forge'), 10 'password' => env('DB_PASSWORD', ''), 11 'charset' => 'utf8', 12 'prefix' => '', 13 'prefix_indexes' => true, 14 'schema' => 'public', 15 'sslmode' => 'prefer', 16 ],
envのポート番号を54320にしたりしましたが解決できません。
php artisan config:cacheや php artisan config:clear
も試しました。
homesteadとは別でcentos8の環境も存在していてそちらでもpgsqlの接続をしているのですが関係ありますでしょうか?
homesteadを何回か作成してきた背景があるのですが
ポートなどが被ってしまったのでしょうか?
あなたの回答
tips
プレビュー