【发布时间】:2016-03-22 17:30:53
【问题描述】:
目前正在使用 Ruby on Rails 构建一个 Web 应用程序。我试图了解数据模型和数据库部分。为了便于理解,我将使用 IFTTT 作为类比:
在应用中,用户可以添加不同的recipes,例如:
- 脸书-推特
- 天气 - 发送电子邮件
- 你的名字...
当然,每个食谱都有自己的字段和选项。因此,用户可以从库中选择多个食谱并为每个食谱设置选项。配方库是在代码中定义的。
我对此设置有几个问题,如果我能得到一些指示,我会很高兴:
- 将配方的选项序列化到单个数据库字段中是否明智?每个菜谱都有不同的字段,我不希望每个菜谱类型都有一个数据库表。
- 还是创建一个包含所有配方的所有选项的“键值”表更好?
- 如何处理验证? Virtus能派上用场吗?
- NoSQL 数据库是否适合此类应用程序?
这些类型的应用程序/数据模型是否有最佳做法?欢迎任何帮助。
谢谢!
伦斯
【问题讨论】:
-
查看 postgres hstore。我认为使用 noSQL 来启动 rails 应用程序不是一个好主意。
标签: ruby-on-rails database model data-modeling