doctrine orm 多个数据库未找到用户实体类

问题描述 投票:0回答:0

尝试在我的

postgres
项目中设置
mariadb
symfony 6
来迁移我的数据库。

按照指南这里

我的实体称为

User

所以我在

doctrine.yaml

设置了两个数据库
doctrine:
    dbal:
        default_connection: mariadb
        connections:
            mariadb:
                server_version:    '%env(DATABASE_VERSION)%'
                dbname:            '%env(DATABASE_NAME)%'
                host:              '%env(DATABASE_HOST)%'
                port:              '%env(DATABASE_PORT)%'
                user:              '%env(DATABASE_USER)%'
                password:          '%env(DATABASE_PASSWORD)%'
                driver:            '%env(DATABASE_DRIVER)%'
                charset:            UTF8
                options:
                    !php/const PDO::MYSQL_ATTR_SSL_KEY: '%DATABASE_PUB_KEY%'
                    !php/const PDO::MYSQL_ATTR_SSL_CERT: '%DATABASE_PRIV_KEY%'
                    !php/const PDO::MYSQL_ATTR_SSL_CA: '%DATABASE_CA_CERT%'
                    !php/const PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT: false
            postgres:
                server_version:    '15'
                dbname:            'mr_dev'
                host:              'postgres'
                port:              '5432'
                user:              '%env(DATABASE_USER)%'
                password:          '%env(DATABASE_PASSWORD)%'
                driver:            'pdo_pgsql'
                charset:            UTF8
    orm:
        default_entity_manager: mariadb
        entity_managers:
            mariadb:
                connection: mariadb
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                auto_mapping: true
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        alias: App
                dql:
                    numeric_functions:
                        rand: DoctrineExtensions\Query\Mysql\Rand
            postgres:
                connection: postgres
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        alias: App

doctrine_migrations.yaml

doctrine_migrations:
    em: 'mariadb'
    migrations_paths:
        'DoctrineMigrations': '%kernel.project_dir%/migrations'
    enable_profiler: '%kernel.debug%'

然后我像这样访问:

use Doctrine\Persistence\ManagerRegistry;

ManagerRegistry $doctrine

$users = $doctrine->getRepository(User::class, 'mariadb')->findAll();
        dump($users);

错误

Class 'App\Controller\home\User' does not exist

它正在查看错误的文件夹;我的实体位于

App\src\Entity\User.php

php symfony doctrine-orm
© www.soinside.com 2019 - 2024. All rights reserved.