Hasura 上的客户端数据备份
Posted
技术标签:
【中文标题】Hasura 上的客户端数据备份【英文标题】:Client side data backup on Hasura 【发布时间】:2020-08-22 07:44:19 【问题描述】:所以问题是:我怎样才能获得客户端备份,以便用户可以将自己的数据保存到可下载的文件中,以后可以使用该文件来恢复所有数据?
关于我的堆栈的信息:
我在前端使用 React、mobx、apollo。 我在后端使用 Hasura 和 Postgresql。
我的应用程序将是多租户的,我还没有实现多租户,但可能会发生这样的情况,每个租户共享同一个 Hasura 数据库,并且tenant_id 将让他们只访问自己的数据。
数据本身建立在具有一对多关系的多个表上。所以备份本质上必须是用户全部数据的图像,包含必要的信息,以便在恢复时,所有关系都像以前一样工作。
首先我以一种天真的(或者至少我认为它很天真)的方式解决了这个问题,这意味着我在客户端添加了一个按钮来下载数据,按下按钮会导致阿波罗查询数据来自 Hasura,并将数据导出为 JSON 供客户端下载。
现在在我的脑海里,我认为有一种更可靠、更安全的方法可以做到这一点。当然,我不希望用户能够从数据库中获取整个转储,只希望用户有权访问的所有记录。
【问题讨论】:
【参考方案1】:创建两个负责导出和导入数据的 Hasura 操作。这些操作将指向 2 个微服务,这些微服务将根据我们对数据安全/卫生的确切要求查询/改变数据库。
【讨论】:
谢谢,我还不是很精通动作或微服务,但无论如何我必须花时间学习这些,所以很高兴知道这是正确的方法。以上是关于Hasura 上的客户端数据备份的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中以管理员身份进行身份验证、查询和变异 Hasura? [关闭]