如何在现有的realm android中添加另一个表

时间:2015-07-08 11:10:04

标签: android realm

我已经有一个包含很少表的数据库。我需要在现有数据库中添加另一个表,但我在迁移类中找不到任何方法。

  Table personTable = realm.getTable(Person.class);
        Table petTable = realm.getTable(Pet.class);
        petTable.addColumn(ColumnType.STRING, "name");
        petTable.addColumn(ColumnType.STRING, "type");
        long petsIndex = personTable.addColumnLink(ColumnType.LINK_LIST, "pets", petTable);
        long fullNameIndex = getIndexForProperty(personTable, "fullName");


        for (int i = 0; i < personTable.size(); i++) {
            if (personTable.getString(fullNameIndex, i).equals("JP McDonald")) {
                personTable.getUncheckedRow(i).getLinkList(petsIndex).add(petTable.add("Jimbo", "dog"));
            } 
        } 
        version++;
    } 

1 个答案:

答案 0 :(得分:1)

您上面提供的示例已经有了

Table petTable = realm.getTable(Pet.class);
petTable.addColumn(ColumnType.STRING, "name");
petTable.addColumn(ColumnType.STRING, "type");
long petsIndex = personTable.addColumnLink(ColumnType.LINK_LIST, "pets", petTable);

请注意,在示例中,版本1在版本2之前没有Pet表。