我继承了一个使用MySQL DB的Symfony项目。我需要创建第二个数据库。我已经更改了... / htdocs / projectFolder / app / config / parameters.yml以获得新的dbName。
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 8889
database_name: inherited_db_name
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: localhost
mailer_user: null
mailer_password: null
locale: en
secret: nosecret
database_path: null
更改为:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1 #can't use "localhost"
database_port: 8889
database_name: new_db_to_create
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: localhost
mailer_user: null
mailer_password: null
locale: en
secret: nosecret
database_path: null
我已经尝试过所有可以使用的技巧但命令:
doctrine:database:create
只是不断尝试创建“inherited_db_name”
如果删除“inherited_db_name”DB,然后再次使用新参数运行命令,则重新创建“inherited_db_name”。我搜索并grep-ed为“inherited_db_name”,但无法找到它来自哪里。任何建议都会受到欢迎。
答案 0 :(得分:0)
您应该配置Symfony2应用程序来管理这两个数据库。
因此,您的 parameters.yml 文件将如下所示:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 8889
database_name: inherited_db_name
database_user: root
database_password: root
database_driver2: pdo_mysql
database_host2: 127.0.0.1 #can't use "localhost"
database_port2: 8889
database_name2: new_db_to_create
database_user2: root
database_password2: root
mailer_transport: smtp
mailer_host: localhost
mailer_user: null
mailer_password: null
locale: en
secret: nosecret
database_path: null
现在您只需要正确配置Doctrine:
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
customer:
driver: "%database_driver2%"
host: "%database_host2%"
port: "%database_port2%"
dbname: "%database_name2%"
user: "%database_user2%"
password: "%database_password2%"
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
AcmeDemoBundle: ~
AcmeStoreBundle: ~
customer:
connection: customer
mappings:
AcmeCustomerBundle: ~
请查看Symfony2食谱:http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html