在Firebase中存储非用户数据的正确方法是什么?

时间:2016-03-08 03:30:35

标签: ios firebase

我有一个Firebase应用程序,它具有存储用户数据并提供静态数据。我正在努力找出一种安全存储静态数据的方法。

静态数据是用户将作为学习课程(预设数据)的视频网址和其他信息的列表。这些可以定期改变。

我的问题是,任何开发人员都可以通过单击按钮意外删除整个数据存储。

这就是我想要的但不确定如何实现:

  1. 我将静态数据直接写入firebase
  2. 有一个实时(应用)版本的数据,一个开发(app)版本和登台(app)版本 - 现场应该是不可编辑的
  3. 正确测试分段后,我想将所有数据迁移到实时Firebase应用中以获取静态数据
  4. 我知道如何在Firebase之外完成此操作,但我真的想在Firebase上构建我的整个后端。有什么想法吗?

    价格可以改变。订购可以更改,可以添加新课程等。

    数据看起来像这样:

    originalArrayList.addAll(newArrayList);
    

1 个答案:

答案 0 :(得分:0)

根据我对您想要做的事情的理解,您最大的担忧似乎是开发人员意外删除了应用程序的生产版本中的数据。

我不完全确定你想要什么类型的解决方案,所以这里有几个选择:

  1. 知道firebase每日备份(Is it possible to backup Firebase DB?)可能会让人感到欣慰,因此,如果您最大的担忧是丢失数据,那么就可以解决很多问题。您还可以通过API调用备份自己的数据:https://www.firebase.com/docs/rest/api/

  2. 我能看到的最简单但最常用的方法是导出firebase开发数据,然后使用导入和导出按钮将其上传到应用程序的登台版和实时版: Firebase import and export buttons

  3. 如果您正在寻找更加自动化的内容。你必须写一些代码,也许是一个" admin"自己的门户。登录后,该门户可以为您提供对两个firebase数据库的访问权限。您创建了一个工具来比较三个数据库之间的json差异(可能对类唯一ID进行较浅的搜索),并且可以将数据推送到应用程序的临时版和实时版。这可能是更多"可扩展"但是,在处理大型数据集时,所有这些都存在问题。