Общее соединение: пользователь не является допустимым объектом или сопоставленным суперклассом

5 минут назад у меня была полная установка с FOS userBundle, которая работала. Затем я решил использовать несколько/общих подключений к БД. И теперь у меня есть:

MyNamespace\UserBundle\Entity\User is not a valid entity or mapped super class.

Вот настройка.

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  UTF8
            shared:
                driver:   %database_shared_driver%
                host:     %database_shared_host%
                port:     %database_shared_port%
                dbname:   %database_shared_name%
                user:     %database_shared_user%
                password: %database_shared_password%
                charset:  UTF8

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        default_entity_manager: default
        entity_managers:
            default:
              connection: default
              mappings:
                MyNonSharedBundle: ~
            shared:
              connection: shared
              mappings:
                MyUserBundle: ~
                FOSUserBundle: ~

PS: если я перемещаю MyUserBundle и FosUserBundle под default connection, это работает.


person sf_tristanb    schedule 09.03.2012    source источник


Ответы (1)


Это означает, что что-то пытается работать с вашей сущностью через диспетчер сущностей по умолчанию. Вы настроили FOSUserBundle?

fos_user:
    model_manager_name: "shared"
person meze    schedule 09.03.2012
comment
Спасибо было такое. Это связано только с FOSUserBundle или я должен настроить каждый пакет, который я помещаю в общий доступ? - person sf_tristanb; 10.03.2012
comment
Но он продолжает падать, когда доктрина: схема: создать с тем же сообщением об ошибке:/ - person sf_tristanb; 10.03.2012
comment
Он не должен... Будет ли он делать это с параметром --em=shared для доктрины:схема:создать? - person meze; 10.03.2012
comment
когда я это делаю, он говорит мне: MyUserBundle не является допустимым объектом. и при использовании --em:default он говорит мне обратное (MyUserBundle и FOSUserBundle).... - person sf_tristanb; 12.03.2012
comment
@Tristan странно, если вы установите --em=shared, он должен сгенерировать схему для MyUserBundle и FOSUserBundle. Откуда эта ошибка? - person meze; 12.03.2012
comment
Посмотрите сами: pastie.org/private/xeehuguwzrw1pgebmiv5a это ошибка в версии 2.1? мне открыть тикет? или это касается только меня? - person sf_tristanb; 12.03.2012
comment
О боже, я знаю, что происходит, в классе User у меня есть отношения к Offer, и наоборот. Итак, когда он пытается создать схему, он ищет Offer ? которого еще нет. Как это обойти? Или может я ошибаюсь? - person sf_tristanb; 12.03.2012
comment
Я думаю ты прав. Попробуйте удалить отношения. Doctrine не может выполнить соединение с двумя таблицами в разных базах данных, вы не можете обойти это. - person meze; 12.03.2012
comment
Это отстой. Спасибо за помощь, мезе. - person sf_tristanb; 12.03.2012