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 上的客户端数据备份的主要内容,如果未能解决你的问题,请参考以下文章

如何在 hasura graphql 引擎上上传文件或图像

将 Hasura 用作数据访问层的最佳和正确方法是啥

Heroku 上 Hasura 的数据库凭据

如何在 python 中以管理员身份进行身份验证、查询和变异 Hasura? [关闭]

如何将 .csv 文件导入 Hasura PostgreSQL 数据库?

如何在 hasura react admin 中动态更新数据提供者标头?