2

我正在开发电子商务应用程序。是否有可能编写一个在不同连接上工作的锂应用程序,基本上是 MongoDb 或 CouchDb 和 MySQL?我们如何才能做到这一点,你有什么实现它的秘诀?

4

1 回答 1

2

我不确定我是否理解正确。

如果您只想同时使用更多连接到不同的数据库,这很容易实现。您可以一次定义更多连接(查看默认的 connections.php 引导文件以及锂\核心\环境类的文档)。

如果您想在上述所有数据库上运行整个应用程序,请继续阅读...

一般来说,回答这个问题并不容易,但这里有一些想法:

您可能知道,Lithium 为您提供了一个数据库抽象层,它公开了 CRUD 过程的通用方法。这在开发过程中很好(您不必为每个数据库学习新接口),您很快就会到达需要数据库特定功能的地步。

这可能会引起关系数据库之间的兼容性问题,但几乎不可能混合关系数据库和非关系数据库。当然你可以并排使用它们,但是提供抽象真的很难。例如,您将如何在 MySQL 中查询嵌套文档(就像您在 MongoDB 中所做的那样)?您可以编写一个尝试模拟这一点的包装器,但您不应该尝试这样做。

也就是说,如果你真的必须这样做,你可以通过编写包装器代码来实现它,并省略非常具体的数据库相关功能。

于 2011-09-07T10:11:38.960 回答