动态可扩展的Mysql表

时间:2014-03-22 08:42:02

标签: python mysql sql django nosql

这是我的情况。我使用Python,Django和MySQL进行Web开发。

我有几个表格发布表格,其字段可能会动态更改。这是一个例子。

就像名为Article的表一样,它现在有三个字段,称为id INTtitle VARCHAR(50)author VARCHAR(20),它应该能够动态存储其他值。未来,如source VARCHAR(100)或其他。

如何优雅地实现这一点? MySQL是否能够处理它?无论如何,我不想完全放弃MySQL,因为我并不熟悉NoSQL数据库,在开发过程中改变技术计划可能会有风险。

欢迎任何想法。提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可能对this post感兴趣的FriendFeed的无模式SQL方法。

松散:

  • 将文档存储在JSON中,将ID提取为列但不提取其他列
  • 为您需要的任何索引创建新表
  • 通过代码
  • 填充索引

这种方法有几个缺点,例如索引不一定反映实际数据。你还需要非常大量地破解django的ORM。根据您的要求,您可以将某些字段保留为纯DB列,并将其他字段存储为JSON?

答案 1 :(得分:0)

我从未真正使用它,但django-not-eav看起来像是工作的工具。

“这个应用尝试了不可能的事情:以正确的方式实现一个坏主意。”我已经爱上了它:)

那就是说,这个问题听起来像是“重新思考你的方法”的情况,当然。但是,是的,有时这根本不是一个选择......