Хорошо работает на моем местном. Но когда Heroku пытается создать приложение с помощью следующей команды, она прерывает его и говорит, что я в работе, хотя я использую --force
флаг:
php artisan migrate:refresh --seed --force
И я явно не на работе, потому что если бы я был, он бы вообще не смог подключиться к базе данных. Настройки производственной базы данных разные. И он мигрирует, и семена просто отлично, если я делаю это через консоль bash.
Я делаю это так:
$env = $app->detectEnvironment(function(){
if(isset($_SERVER['APP_ENVIRONMENT'])) {
return $_SERVER['APP_ENVIRONMENT'];
}
return 'local';
});
Где APP_ENVIRONMENT установлен в конфигурации виртуального хоста apache (как это):
SetEnv APP_ENVIRONMENT local
(На серверах разработки, промежуточных и производственных серверов значение для APP_ENVIRONMENT и возвращаемое значение по умолчанию, очевидно, будут разными). Это позволяет ремесленнику подобрать среду, даже если $ _SERVER недоступен для ремесленников.
Других решений пока нет …