Symfony 项目的模型存储在多个数据库中
我正在编写 Symfony 项目(使用 symfony 1.4 版本,以 Propel 作为其 ORM),其中一些数据存储在 MySQL 数据库中,其他一些数据存储在另一台服务器上的 PostgreSQL 数据库中。
更准确地说,我想同时将一些模型存储在 MySQL 数据库中,将其他模型存储在 PostgreSQL 数据库中,并且无需显式数据库切换即可无缝完成(我的意思是 Propel 将使用正确的数据库连接和 SQL 方言来检索/存储数据)。 MySQL部分的模型不会与PostgreSQL有关系。
是否可以?如果是,我还想知道如何设置开发环境(我想在开发和生产环境中访问不同的 MySQL/PostgreSQL 数据库)。
UPD:我发现了有关此问题的问题: Symfony 中的多个数据库支持但我必须检查它是否适用于最新版本的 Symfony。
I am writing Symfony project (using symfony 1.4 ver. with Propel as its ORM) where some data is stored in MySQL database and some other data is stored on another server in PostgreSQL database.
To be more precise I want to store some models in MySQL database and other models in PostgreSQL database at the same time and do it seamlessly without explicit database switching (I mean Propel will use proper database connection and SQL dialect to retrieve/store data). Models from MySQL part will not have relations with PostgreSQL.
Is it possible? If yes I also would like to know how to setup development environment (I want to access different MySQL/PostgreSQL DBs in developement and production environments).
UPD: I've found question on SO reagrding this problem: Multiple databases support in Symfony But i have to check if it works with recent versions of Symfony.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我每天都使用 symfony,事实上你可以有 2 个数据库来存储模型的不相关部分。你需要在你的database.yml中设置两个连接(我不熟悉posgress,所以你必须弄清楚如何正确设置它):
完成后,我们应该开始使用schema.yml文件或文件(因为您将使用 2 个数据库,我建议有 2 个文件,一个用于 mysql,另一个用于 postgres 数据库):
mysql_schema.yml 文件:
postgres_schema.yml 文件:
一旦您完成了模式文件的设置,您就可以开始创建所有类并开始享受乐趣了。希望这有帮助
i work with symfony every day and in fact you can have 2 databases in order to store unrelated parts of the model. You need to set up both connection in you database.yml (i'm unfamiliar with posgress so you will have to figure out how to set it up correclty):
Once you have done that, we should get started with the schema.yml file or files (as you will be using 2 databases i would suggest to have 2 files, one for the mysql and another for the postgres database):
mysql_schema.yml file:
postgres_schema.yml file:
Once you have finished setting up your schema files, you should be good to go, create all classes and start to have fun. Hope this helps
我相信你可以!
谷歌对此有很多结果,请尝试
http://snippets.symfony-project.org/snippet /194
这是基于旧版本的 propel/symfony,但快速浏览一下,我相信它仍然有效。另外,最近有评论表明它有效。
I believe you can!
Google has quite a few results for this, try
http://snippets.symfony-project.org/snippet/194
Thats based on an older version of propel/symfony, but from a quick look, I believe it's still valid. Plus there are recent comments suggesting it works.