I need to run tests with a separate database
I use POSTGRESQL as database driver.
My config/database.php
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
],
Special for running tests I defined DB_DATABASE in phpunit.xml
<php>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="TELESCOPE_ENABLED" value="false"/>
...
<env name="DB_DATABASE" value="database_test"/>
</php>
But when I run my PHPUnit tests, I get the error
PDOException: SQLSTATE[08006] [7] FATAL: database "database_test" does not exist
database_testdatabase in postgres before running the tests.