使用Phoenix和RethinkDB设置用户收件箱服务

时间:2016-01-06 23:21:39

标签: rethinkdb phoenix-framework

我正在尝试为我的应用设置类似于LinkedIn的消息系统。我使用Phoenix Framework和RethinkDB进行持久化。我正在使用RethinkDB而不是默认的Postgres,因为该网站现在非常流畅且处于起步阶段。我不能真正锁定一个坚定的架构和与事物的关系,而不是随着应用程序的成熟而改变。我在确定如何为数据库设置文档和字段时遇到了很多麻烦,并利用Phoenix创建了适当的表单字段来接受一组收件人。我想按照以下准则进行设置:

  1. 用户可以创建消息。
  2. 可以将消息发送给一个或多个人。
  3. 可以将消息另存为草稿。
  4. 可以回复该消息,并将以前的消息作为链附加。
  5. 我遇到的主要问题是使用表单字段收集多个收件人,并设置数据库以支持上述指南。如果有人能让我开始并走上正轨,那将是一个很大的帮助。

1 个答案:

答案 0 :(得分:0)

如果您只是进行原型设计并了解框架,那么使用Postgres可能会更好,因为它得到了很好的支持。迁移是有原因的,因此您不会因为使用Postgres而无法使用模式。您应该在选择数据库之前创建表示问题的数据模型,或者至少将其视为单独的问题。

表单将从变更集生成。使用Rethink时,更改集将用于生成和验证,但不会像postgres一样应用。从用户模型和消息模型开始。有一个"发布"消息模型中的字段,它应该由生成的表单中的复选框表示。