I have this weird error. In our app when an user creates or updates a group, we are adding that group to our Solr search index or update existing data through events. It used to work fine but now it has started to throw this error.
database.php
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'host' => env('MONGO_DB_HOST', 'localhost'),
'port' => env('MONGO_DB_PORT', 27017),
'database' => env('MONGO_DB_DATABASE'),
'username' => env('MONGO_DB_USERNAME'),
'password' => env('MONGO_DB_PASSWORD'),
'options' => [
'db' => 'admin', // sets the authentication database required by mongo 3
]
],
'advertiser' => [
'driver' => 'mysql',
'host' => env('ADVERTISER_DB_HOST', 'localhost'),
'port' => env('ADVERTISER_DB_PORT', 3306),
'database' => env('ADVERTISER_DB_DATABASE'),
'username' => env('ADVERTISER_DB_USERNAME'),
'password' => env('ADVERTISER_DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'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',
],
],
The listener method in GroupEventSubscriber.php
public function onNewGroupCreate(\App\Events\NewGroupCreate $event)
{
$group = $event->group;
// this method adds the group to our solr index
// i've commented out the method call after it started to throw error, but it still being called.
// the onGroupUpdate() method is similar to this
//$this->addGroupToIndex($group);
}
Now every time I create or update a group this is the stacktrace i get. Note: I have commented out the addGroupToIndex()
method call in both onGroupUpdate()
and `onNewGroupCreate()
InvalidArgumentException: Database [advertiser] not configured. in /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:239
Stack trace:
0 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(158):
Illuminate\Database\DatabaseManager->getConfig('advertiser')
1 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(68):
Illuminate\Database\DatabaseManager->makeConnection('advertiser')
2 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(3351):
Illuminate\Database\DatabaseManager->connection('advertiser')
3 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(3317):
Illuminate\Database\Eloquent\Model::resolveConnection('advertiser')
4 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1861):
Illuminate\Database\Eloquent\Model->getConnection()
5 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1834):
Illuminate\Database\Eloquent\Model->newBaseQueryBuilder()
6 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1804):
Illuminate\Database\Eloquent\Model->newQueryWithoutScopes()
7 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(726):
Illuminate\Database\Eloquent\Model->newQuery()
8 /var/www/tagfi/api/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Eloquent/HybridRelations.php(26):
Illuminate\Database\Eloquent\Model->hasOne('App\Advertiser', 'id', 'place_id')
9 /var/www/tagfi/api/app/Group.php(67): App\Group->hasOne('App\Advertiser', 'id', 'place_id')
10 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2706):
App\Group->advertiser()
11 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2679):
Illuminate\Database\Eloquent\Model->getRelationshipFromMethod('advertiser')
12 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2623):
Illuminate\Database\Eloquent\Model->getRelationValue('advertiser')
13 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(3466):
Illuminate\Database\Eloquent\Model->getAttribute('advertiser')
14 /var/www/tagfi/api/app/Listeners/GroupEventSubscriber.php(50): Illuminate\Database\Eloquent\Model->__get('advertiser')
15 /var/www/tagfi/api/app/Listeners/GroupEventSubscriber.php(90): App\Listeners\GroupEventSubscriber->addGroupToIndex(Object(App\Group))
16 [internal function]: App\Listeners\GroupEventSubscriber->onGroupUpdate(Object(App\Events\GroupUpdate))
17 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Events/CallQueuedHandler.php(42):
call_user_func_array(Array, Array)
18 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(73):
Illuminate\Events\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array)
19 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(203):
Illuminate\Queue\Jobs\Job->fire()
20 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(152):
Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
21 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(75):
Illuminate\Queue\Worker->runNextJob('redis', 'default', Object(Illuminate\Queue\WorkerOptions))
22 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(100):
Illuminate\Queue\Worker->daemon('redis', 'default', Object(Illuminate\Queue\WorkerOptions))
23 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(83):
Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'default')
24 [internal function]: Illuminate\Queue\Console\WorkCommand->fire()
25 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(508):
call_user_func_array(Array, Array)
26 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(169):
Illuminate\Container\Container->call(Array)
27 /var/www/tagfi/api/vendor/symfony/console/Command/Command.php(261):
Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
28 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(155):
Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
29 /var/www/tagfi/api/vendor/symfony/console/Application.php(817): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
30 /var/www/tagfi/api/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand),
Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
31 /var/www/tagfi/api/vendor/symfony/console/Application.php(116): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
32 /var/www/tagfi/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(121):
Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
33 /var/www/tagfi/api/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
34 {main}
i know this is too long, but I can't seem to find whats causing the issue.