저의 목표는 동일한 데이터베이스 모델을 공유하는 서로 다른 데이터베이스에 연결된 두 개의 서로 다른 문서 관리자를 만드는 것입니다.Symfony에서 동일한 번들에 대해 서로 다른 데이터베이스를 가진 두 개의 다른 문서 관리자를 사용할 수 있습니까?
데이터베이스 모델을 많이 변경했으며 이전 모델의 개체를 검색하는 사용자 지정 마이그레이션 스크립트를 작성하여 해당 값을 읽은 다음 이전 개체 정보를 사용하여 새 스키마에 새 개체를 만듭니다.
내가 여기에 관련 유래 질문 발견: Working with two entity managers in the same bundle in Symfony2
Howewer,이 솔루션은 각 데이터베이스에 대해 다른 접두사를 사용하는 제안과는 다른 폴더에있는 데이터 모델을위한 클래스를 저장합니다
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
second:
driver: %database_sqlite_driver%
host: ~
port: ~
dbname: %database_sqlite_shop_name%
path: %database_sqlite_shop_name%
user: ~
password: ~
charset: UTF8
orm:
auto_generate_proxy_classes: %kernel.debug%
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
YourBundle:
# you must specify the type
type: "annotation"
# The directory for entity (relative to bundle path)
dir: "Entity/FirstDb"
#the prefix
prefix: "Your\Bundle\Entity\FirstDb"
shop:
connection: second
mappings:
YourBundle:
type: "annotation"
#here the second path where entity for the connection stand
dir: "Entity/SecondDb"
#the prefix
prefix: "Your\Bundle\Entity\SecondDb"
같은 폴더에서 동일한 모델을 공유하지만 다른 데이터베이스에 연결된 두 개의 다른 문서 관리자 개체를 갖고 싶습니다. 이것이 가능한가?
동일한 문서를 두 DocumentManager 모두에 매핑하려고하면 오류가 발생합니까? – malarzm
예 문서 관리자가 더 이상 문서를 검색하지 않습니다. 내가 쿼리하는 모든 문서에 대해 아무 것도 얻지 못합니다. 나는 이것이이 구성이 만들어내는 충돌과 관련이 있다고 가정한다. – matyas
수정하십시오. mongo : [심포니에서 여러 mongodb 문서 관리자와 연결 사용하기] (http://www.inanzzz.com/index.php/post/fukm/using-multiple-mongodb-document-managers-and-connections-in-symfony)) 및 For MySQL : [여러 번들 및 데이터베이스에 다중 MySQL 엔터티 관리자 사용하기] (http://www.inanzzz.com/index.php/post/7cpx/using-multiple-mysql-entity-managers-for-multiple- 번들 및 데이터베이스) – BentCoder