mercredi 28 octobre 2020

Calling Artisan Commands from other Artisan Commands using different .env

I want to use .env.testing and I read here:

You may also create a .env.testing file. This file will override the .env file when running PHPUnit tests or executing Artisan commands with the --env=testing option.

I have an artisan command that should create my testing database. The command is triggered using php artisan testdb:fresh and calling another command in his handle method:

public function handle()
{
    if ($this->isProduction()) {
        $this->errorMessageTestingDatabase();
        return;
    }

    $this->call('migrate:fresh', ['--env' => 'testing',  '--seed' => true]);
}

However, it seems that the --env=testing flag is ignored. I get a failure to connect to db exception.

However, if I run the command by

php artisan testdb:fresh --env=testing 

It works. It it not possible to pass an env flag when calling an Artisan command withing an Artisan command?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire