Hasura 上的客户端数据备份
Client side data backup on Hasura
所以问题是:我如何获得客户端备份,以便用户可以将自己的数据保存到可下载文件中,之后可以使用该文件恢复所有数据?
关于我的堆栈的信息:
我在前端使用 React、mobx、apollo。
我在后端使用 Hasura 和 Postgresql。
我的应用程序将是多租户的,我还没有实现多租户,但可能会发生这样每个租户共享同一个 Hasura 数据库,并且 tenant_id 会让他们访问只有他们自己的数据。
数据本身建立在具有一对多关系的多个表上。所以备份本质上必须是用户全部数据的图像,包含必要的信息,以便在恢复时,所有关系都像以前一样工作。
首先我以一种天真的(或者至少我认为这是天真的)方式解决了这个问题,这意味着我在我的客户端添加了一个按钮来下载数据,按下按钮会导致 apollo 查询来自 Hasura 的数据,并将数据导出为 JSON 以供客户端下载。
现在在我的脑海里,我认为有一种更可靠和安全的方法可以做到这一点。当然,我不希望用户能够从数据库中获取整个转储,只能获取用户有权访问的所有记录。
创建两个负责导出和导入数据的 Hasura 操作。根据我们对数据 security/sanitation.
的确切要求,这些操作将指向 2 个微服务 query/mutate 数据库
所以问题是:我如何获得客户端备份,以便用户可以将自己的数据保存到可下载文件中,之后可以使用该文件恢复所有数据?
关于我的堆栈的信息:
我在前端使用 React、mobx、apollo。 我在后端使用 Hasura 和 Postgresql。
我的应用程序将是多租户的,我还没有实现多租户,但可能会发生这样每个租户共享同一个 Hasura 数据库,并且 tenant_id 会让他们访问只有他们自己的数据。
数据本身建立在具有一对多关系的多个表上。所以备份本质上必须是用户全部数据的图像,包含必要的信息,以便在恢复时,所有关系都像以前一样工作。
首先我以一种天真的(或者至少我认为这是天真的)方式解决了这个问题,这意味着我在我的客户端添加了一个按钮来下载数据,按下按钮会导致 apollo 查询来自 Hasura 的数据,并将数据导出为 JSON 以供客户端下载。
现在在我的脑海里,我认为有一种更可靠和安全的方法可以做到这一点。当然,我不希望用户能够从数据库中获取整个转储,只能获取用户有权访问的所有记录。
创建两个负责导出和导入数据的 Hasura 操作。根据我们对数据 security/sanitation.
的确切要求,这些操作将指向 2 个微服务 query/mutate 数据库