如何分离 Firebase 数据库中的测试和生产数据?
Posted
技术标签:
【中文标题】如何分离 Firebase 数据库中的测试和生产数据?【英文标题】:How can I separate testing and production data in my Firebase Database? 【发布时间】:2016-10-27 12:40:18 【问题描述】:每个 Firebase 项目仅包含一个用于数据的 JSON 树。最佳实践要求测试应该在与生产数据不同的数据库上运行。实现这一目标的最简单方法是什么?
我考虑的一些事情:
在同一个项目中使用多个子树进行测试和生产 - 这看起来很混乱,而且测试和生产数据很难分开。 设置多个 Firebase 项目以进行测试和生产 - 这似乎是来自 this question 与 android 相关的最佳答案。但我不确定如何在 Xcode 中设置多个GoogleService-Info.plist
文件并根据我的应用配置在它们之间切换。
【问题讨论】:
【参考方案1】:创建多个 Firebase 项目。每个项目都有自己的 plist 文件。
FIRApp
有一个自定义配置选项。下载您的测试/调试项目的 plist,重命名并加载如下。
#if DEBUG
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info-dev" ofType:@"plist"];
FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
[FIRApp configureWithOptions:options];
#else
[FIRApp configure];
#endif
更详细的解释可以看here
【讨论】:
差不多一年后,我想确认,对于现在使用 Firebase 的每个新项目,我都会创建两个单独的 Firebase 项目:一个用于测试/开发,一个用于生产。 在文档中也推荐:firebase.google.com/docs/cli/#managing_project_aliases 除此之外,我还将在 FireBase 中创建一个单独的项目,以便不共享数据。 @pejalo 如果你把这个作为答案在这里我会支持它。我认为,由于制作两个单独的 firebase 项目是对您提出的问题的一个很好的回答(尽管上面的问题没有错),因此应该发布并使其更加明显。阅读本文后,我将自己创建两个独立的项目 @KyleSomers 我编辑了这个答案以明确说明我认为已经暗示的内容以上是关于如何分离 Firebase 数据库中的测试和生产数据?的主要内容,如果未能解决你的问题,请参考以下文章