3
votes

Hello i'm making a new project on symfony 4.1,

i use postgres 10.5 as my SGBD.

i created an entity with the maker bundle of symfony and now i try to make a migration still with the maker bundle with that command :

php bin/console make:migration

here is the stack trace :

In Container.php line 274:

  You have requested a non-existent service "doctrine". Did you mean one of these: "console.command.public_alias.doctrine_cache.contains_command", "console.command.public
  _alias.doctrine_cache.delete_command", "console.command.public_alias.doctrine_cache.flush_command", "console.command.public_alias.doctrine_cache.stats_command", "consol
  e.command.public_alias.doctrine_migrations.diff_command", "console.command.public_alias.doctrine_migrations.execute_command", "console.command.public_alias.doctrine_mig
  rations.generate_command", "console.command.public_alias.doctrine_migrations.latest_command", "console.command.public_alias.doctrine_migrations.migrate_command", "conso
  le.command.public_alias.doctrine_migrations.status_command", "console.command.public_alias.doctrine_migrations.version_command"?

Exception trace:
 Symfony\Component\DependencyInjection\Container->make() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/Container.php:222
 Symfony\Component\DependencyInjection\Container->get() at /opt/www/jame/dataneo-erp/vendor/doctrine/doctrine-migrations-bundle/Command/Helper/DoctrineCommandHelper.php:21
 Doctrine\Bundle\MigrationsBundle\Command\Helper\DoctrineCommandHelper::setApplicationHelper() at /opt/www/jame/dataneo-erp/vendor/doctrine/doctrine-migrations-bundle/Command/MigrationsDiffDoctrineCommand.php:34
 Doctrine\Bundle\MigrationsBundle\Command\MigrationsDiffDoctrineCommand->execute() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Command/Command.php:251
 Symfony\Component\Console\Command\Command->run() at /opt/www/jame/dataneo-erp/vendor/symfony/maker-bundle/src/Maker/MakeMigration.php:78
 Symfony\Bundle\MakerBundle\Maker\MakeMigration->generate() at /opt/www/jame/dataneo-erp/vendor/symfony/maker-bundle/src/Command/MakerCommand.php:100
 Symfony\Bundle\MakerBundle\Command\MakerCommand->execute() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Command/Command.php:251
 Symfony\Component\Console\Command\Command->run() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Application.php:904
 Symfony\Component\Console\Application->doRunCommand() at /opt/www/jame/dataneo-erp/vendor/symfony/framework-bundle/Console/Application.php:89
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Application.php:262
 Symfony\Component\Console\Application->doRun() at /opt/www/jame/dataneo-erp/vendor/symfony/framework-bundle/Console/Application.php:75
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Application.php:145
 Symfony\Component\Console\Application->run() at /opt/www/jame/dataneo-erp/bin/console:39

here is the code of some config files :

services.yaml

# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.

# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
    locale: 'fr'

services:
        autowire: true
        autoconfigure: true
        public: false

    App\:
        resource: '../src/*'
        exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'

    App\Controller\:
        resource: '../src/Controller'
        tags: ['controller.service_arguments']

config/packages/doctrine.yaml

parameters:
    env(DATABASE_URL): ''

    doctrine:
        dbal:
            driver: 'pdo_pgsql'
            server_version: '10.5'
            charset: utf8mb4
            default_table_options:
                charset: utf8mb4
                collate: utf8mb4_unicode_ci

            url: '%env(resolve:DATABASE_URL)%'
        orm:
            auto_generate_proxy_classes: '%kernel.debug%'
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            mappings:
                App:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Entity'
                    prefix: 'App\Entity'
                    alias: App

and my .env

APP_ENV=dev
APP_SECRET=secret
DATABASE_URL="pgsql://erp_dev:[email protected]:5432/erp"
MAILER_URL=null://localhost

Edit :

I tried to put "services : public : true" in services.yaml as mentioned in second answer and the result is a new error :

In DefinitionErrorExceptionPass.php line 54:

  [Symfony\Component\DependencyInjection\Exception\RuntimeException]
  Cannot autowire service "App\Repository\SocieteRepository": argument "$registry" of method "__construct()" refer
  ences interface "Symfony\Bridge\Doctrine\RegistryInterface" but no such service exists. Did you create a class t
  hat implements this interface?


Exception trace:
 Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:60
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php:32
 Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:39
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/Compiler/Compiler.php:95
 Symfony\Component\DependencyInjection\Compiler\Compiler->compile() at /opt/www/jame/dataneo-erp/vendor/symfony/dependency-injection/ContainerBuilder.php:736
 Symfony\Component\DependencyInjection\ContainerBuilder->compile() at /opt/www/jame/dataneo-erp/vendor/symfony/http-kernel/Kernel.php:519
 Symfony\Component\HttpKernel\Kernel->initializeContainer() at /opt/www/jame/dataneo-erp/vendor/symfony/http-kernel/Kernel.php:123
 Symfony\Component\HttpKernel\Kernel->boot() at /opt/www/jame/dataneo-erp/vendor/symfony/framework-bundle/Console/Application.php:65
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /opt/www/jame/dataneo-erp/vendor/symfony/console/Application.php:145
 Symfony\Component\Console\Application->run() at /opt/www/jame/dataneo-erp/bin/console:39

Here is the result of the command

php bin/console debug:container | grep doctrine

  console.command.public_alias.doctrine_cache.contains_command                         alias for "doctrine_cache.contains_command"                                           
  console.command.public_alias.doctrine_cache.delete_command                           alias for "doctrine_cache.delete_command"                                             
  console.command.public_alias.doctrine_cache.flush_command                            alias for "doctrine_cache.flush_command"                                              
  console.command.public_alias.doctrine_cache.stats_command                            alias for "doctrine_cache.stats_command"                                              
  console.command.public_alias.doctrine_migrations.diff_command                        alias for "doctrine_migrations.diff_command"                                          
  console.command.public_alias.doctrine_migrations.execute_command                     alias for "doctrine_migrations.execute_command"                                       
  console.command.public_alias.doctrine_migrations.generate_command                    alias for "doctrine_migrations.generate_command"                                      
  console.command.public_alias.doctrine_migrations.latest_command                      alias for "doctrine_migrations.latest_command"                                        
  console.command.public_alias.doctrine_migrations.migrate_command                     alias for "doctrine_migrations.migrate_command"                                       
  console.command.public_alias.doctrine_migrations.status_command                      alias for "doctrine_migrations.status_command"                                        
  console.command.public_alias.doctrine_migrations.version_command                     alias for "doctrine_migrations.version_command"                                       
  doctrine_cache.abstract.apc                                                          Doctrine\Common\Cache\ApcCache                                                        
  doctrine_cache.abstract.apcu                                                         Doctrine\Common\Cache\ApcuCache                                                       
  doctrine_cache.abstract.array                                                        Doctrine\Common\Cache\ArrayCache                                                      
  doctrine_cache.abstract.chain                                                        Doctrine\Common\Cache\ChainCache                                                      
  doctrine_cache.abstract.couchbase                                                    Doctrine\Common\Cache\CouchbaseCache                                                  
  doctrine_cache.abstract.file_system                                                  Doctrine\Common\Cache\FilesystemCache                                                 
  doctrine_cache.abstract.memcache                                                     Doctrine\Common\Cache\MemcacheCache                                                   
  doctrine_cache.abstract.memcached                                                    Doctrine\Common\Cache\MemcachedCache                                                  
  doctrine_cache.abstract.mongodb                                                      Doctrine\Common\Cache\MongoDBCache                                                    
  doctrine_cache.abstract.php_file                                                     Doctrine\Common\Cache\PhpFileCache                                                    
  doctrine_cache.abstract.predis                                                       Doctrine\Common\Cache\PredisCache                                                     
  doctrine_cache.abstract.redis                                                        Doctrine\Common\Cache\RedisCache                                                      
  doctrine_cache.abstract.riak                                                         Doctrine\Common\Cache\RiakCache                                                       
  doctrine_cache.abstract.sqlite3                                                      Doctrine\Common\Cache\SQLite3Cache                                                    
  doctrine_cache.abstract.void                                                         Doctrine\Common\Cache\VoidCache                                                       
  doctrine_cache.abstract.wincache                                                     Doctrine\Common\Cache\WinCacheCache                                                   
  doctrine_cache.abstract.xcache                                                       Doctrine\Common\Cache\XcacheCache                                                     
  doctrine_cache.abstract.zenddata                                                     Doctrine\Common\Cache\ZendDataCache                                                   
  doctrine_cache.contains_command                                                      Doctrine\Bundle\DoctrineCacheBundle\Command\ContainsCommand                           
  doctrine_cache.delete_command                                                        Doctrine\Bundle\DoctrineCacheBundle\Command\DeleteCommand                             
  doctrine_cache.flush_command                                                         Doctrine\Bundle\DoctrineCacheBundle\Command\FlushCommand                              
  doctrine_cache.stats_command                                                         Doctrine\Bundle\DoctrineCacheBundle\Command\StatsCommand                              
  doctrine_migrations.diff_command                                                     Doctrine\Bundle\MigrationsBundle\Command\MigrationsDiffDoctrineCommand                
  doctrine_migrations.execute_command                                                  Doctrine\Bundle\MigrationsBundle\Command\MigrationsExecuteDoctrineCommand             
  doctrine_migrations.generate_command                                                 Doctrine\Bundle\MigrationsBundle\Command\MigrationsGenerateDoctrineCommand            
  doctrine_migrations.latest_command                                                   Doctrine\Bundle\MigrationsBundle\Command\MigrationsLatestDoctrineCommand              
  doctrine_migrations.migrate_command                                                  Doctrine\Bundle\MigrationsBundle\Command\MigrationsMigrateDoctrineCommand             
  doctrine_migrations.status_command                                                   Doctrine\Bundle\MigrationsBundle\Command\MigrationsStatusDoctrineCommand              
  doctrine_migrations.version_command                                                  Doctrine\Bundle\MigrationsBundle\Command\MigrationsVersionDoctrineCommand             
  maker.doctrine_helper                                                                Symfony\Bundle\MakerBundle\Doctrine\DoctrineHelper                                    
  sensio_framework_extra.converter.doctrine.orm                                        Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DoctrineParamConverter      
  sensio_framework_extra.converter.doctrine.orm.expression_language                    alias for "sensio_framework_extra.converter.doctrine.orm.expression_language.default" 
  sensio_framework_extra.converter.doctrine.orm.expression_language.default            Symfony\Component\ExpressionLanguage\ExpressionLanguage 

Thank you a lot.

1
Does "bin/console debug:container | grep doctrine" show the doctrine service?Cerad
I already tried that and the answer is yes Cerad.pal_crystal
I suppose you try deleting the cache directory. It looks like something is trying to pull doctrine out of the command service locator though I can imagine why. I assume this is a new project and you don't have any mysterious bundles installed and you are not trying to upgrade old legacy code.Cerad
yes i tried to deleting cache and i have no legacy code but the problem persists Ceradpal_crystal
Owww that was the indentation Cerad, thank you very much.pal_crystal

1 Answers

1
votes

Change the following line in your services.yml

services:
    public: false 

by

services:
    public: true