小编kun*_*nal的帖子

在firebase中对对象进行版本控制

我使用firebase作为移动应用程序的数据库.移动应用程序版本1使用某种DB结构.但在版本2中,我有一个主要的架构更改.我找不到任何提及管理数据库升级的最佳实践的具体文档.所以我正在考虑以下步骤,这些步骤在纸面上看起来不错.

  1. 应用程序版本1正在使用firebase/v1进行生产
  2. 将版本1架构firebase/v1复制到firebase/v2
  3. 升级firebase/v2架构
  4. 禁用firebase/v1上的写入操作
  5. 分发指向firebase/v2的应用程序v2

通过这些步骤,使用旧版本app的用户将只能读取数据.因此,除非他们不升级应用程序,否则他们将无法修改任何数据.

我是否在管理架构更新方面朝着正确的方向前进?或者有更好的方法来做到这一点.

database rest android ios firebase

18
推荐指数
1
解决办法
1173
查看次数

rspec版本2.14的未定义方法`rspec_reset'

我正在尝试使用rspec版本2.14执行测试用例,我收到了以下错误

undefined method `rspec_reset' for
Run Code Online (Sandbox Code Playgroud)

我想在类上使用rspec_reset.相同的测试用例正在使用rspec 2.13.1.那么在2.13之后rspec_reset方法可能不可用吗?

rspec ruby-on-rails mocking

7
推荐指数
2
解决办法
2126
查看次数

如何避免继承java clasess的复制构造函数中的instanceof

我正在编写一个用于克隆对象的复制构造函数.当一个类引用一个对象时,该对象被其他几个类进一步说明.

class Person
{
    String name;
    Address address;
 }

class HomeAdress extends Address
{
}
class OfficeAdress extends Address
{
}
Run Code Online (Sandbox Code Playgroud)

现在在Person的复制构造函数中,要决定要传递哪个Address对象,我必须使用instanceof.

public Person(Person p)
{
    name = p.name;
    if(p.address instanceof HomeAddress)
    {
        address = new HomeAddress((HomeAddress) address);
    }else if(p.address instanceof OfficeAddress)
    {
        address = new OfficeAddress((OfficeAddress) address);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,当将新类型的地址添加到模型时,这是基本问题.我将不得不在Person复制构造函数中添加相同的检查.有没有办法避免instanceof检查实例化正确的地址对象.我可以使用refelction来避免代码中的instanceof吗?

java inheritance copy-constructor cloning

0
推荐指数
1
解决办法
1278
查看次数