Doctrine 3.5 reruns skipped migrations when invoking doctrine:migrations:migrate.
This causes this migration to rerun and it errors since craue_config_setting table
gets renamed in Version20190808124957.php to internal_setting table.
Fixes#6660
They should only be loaded from `app/config/services_test.yml`.
Otherwise we'll have an issue when clearing the cache in prod env:
```
In DefinitionErrorExceptionPass.php line 54:
Class "Doctrine\Bundle\FixturesBundle\Fixture" not found while loading "Wal
labag\AnnotationBundle\DataFixtures\AnnotationFixtures".
```
Also update deps to latest.
Most of the API annotations are directly converted. The changes in meaning are:
- Parameters "in body" is not supported anymore. These are changed to "in query" or to a request body (depending on the code).
The `json_array` type was removed from DBAL v3, we should handle it using a migration to avoid error.
I've also added the remove type because we need it during migration.
This is just a simple proxy because we can't lazy load RabbitMQ service just to count number of messages in the queue.
As they are automatically injected in the controller now, we can't lazy load them.
Also forgot to use `AbstractController` in previous PR about _controller as a service_.
Mostly using autowiring to inject deps.
The only tricky part was for import because all producer use the same class and have a different alias. So we must write them down in the service definition, autowiring doesn't work in that case.
Usually:
- if a controller has a constructor, it means injected services are at least re-used once in actions
- otherwise, service are injected per action
Also update these deps to be compatible with latest Doctrine version:
- `friendsofsymfony/oauth-server-bundle`
- `lexik/form-filter-bundle`
- `dama/doctrine-test-bundle`
And use DI to retrieve services in commands (except for `RedisWorkerCommand` where the container is injected, hard to find a better way, at least for now).