我正在使用Symfony2和Doctrine进行应用程序,我遇到了一个我一直想知道的问题,但直到今天才出现问题:如何处理动态数据?
在我正在开发的应用程序中,将会有一些可能是关系的数据,关系数据库的功能可能是有用的,而其他数据的结构可以是动态的,我不关心查询和索引,如只要它存储并链接到其他关系数据,例如:
制作示例的最佳方法是将其与Drupal进行比较,您可以在其中创建自己的内容类型并定义每种内容类型中的字段(但某种类型的所有内容都具有相同的数据,即使它可以在不改变代码的情况下进行动态改变)
我不想使用drupal,我想到的应用程序对于drupal来说太复杂了(可能有 - 很多 - 调整, - a很多 - 模块和一些代码编辑,我宁愿避免,我可能会得到与drupal类似的结果,但我宁愿从头开始使用Symfony而不是将Drupal弯曲到我的意志,只是想到这让我发抖)。
回到问题。我已经开始研究这个问题,我正在考虑像MongoDB这样的NO-SQL解决方案,但是在阅读了一下之后,我觉得我需要一些方向,特别是当我最终读到这个时http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/它吓到了我一点 我还没有结束我的研究,但这篇文章真的让我失去了一点希望,让我决定提前问这里,希望也许有人已经遇到过这个问题并找到了一个有效且经过良好测试的解决方案(我会喜欢使用而不是自己做一个未经测试的人。该问题可分为两部分:
1)数据库
我提出的解决方案依旧是:
2)代码
我还没有调查过很多代码部分,因为它必须适应我将使用的数据库解决方案,但我知道Doctrine有一个ODM来处理来自MongoDB数据库的数据。我不知道是否可以同时使用ORM和ODM并让它们进行通信,但我会调查它。
在#1的情况下它应该不难,Doctrine将为数据创建一个数组,我将能够通过函数检索。
我可能会遇到的另一个问题是关于这些数据的表格,但我还没有调查过
我知道Symfony 2 CMF项目,我可能会从http://cmf.symfony.com/得到一些想法但是在看了一下之后我觉得我需要一些关于这个问题的指示
答案 0 :(得分:1)
所以我一直在搜索,我发现了这个:Mix of MySQL and Mongodb in an application hstore字段引起了我的兴趣 进一步观察我发现了一个在Doctrine和Symfony https://github.com/intaro/hstore-extension上添加hstore支持的扩展,看起来它正是我需要的。
另外我可以使用JSONB(仍然来自Postgres),它看起来像是一个非常强大的动态模型工具,它的支持很快就会在Doctrine中引入,我可以等到那时候