与Phoenix和RethinkDB建立用户收件箱服务



我正试图为我的应用程序建立一个类似于LinkedIn的消息系统。我使用Phoenix Framework和RethinkDB来实现持久性。我使用的是RethinkDB,而不是默认的Postgres,因为这个网站现在非常不稳定,而且还处于起步阶段。我真的无法锁定一个固定的模式,随着应用程序的成熟,与事物的关系很可能会发生变化。我很难弄清楚如何为数据库设置文档和字段,以及如何利用Phoenix创建合适的表单字段来接受一系列收件人。我想按照以下指导原则进行设置:

  1. 用户可以创建消息
  2. 该消息可以发送给一个或多个用户
  3. 消息可以保存为草稿
  4. 可以将以前的邮件附加为链来回复邮件

我遇到的主要问题是收集具有表单字段的多个收件人,并设置数据库以支持上述指南。如果有人能让我走上正轨,那将是一个很大的帮助。

如果你只是在原型设计和了解框架,你可能会更好地使用Postgres,因为它得到了很好的支持。迁移是有原因的,所以您不会因为使用Postgres而被模式所困扰。在选择数据库之前,您应该创建表示问题的数据模型,或者至少将其视为一个单独的问题。

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

最新更新