Android:在领域迁移中更改旧主键

Android:在领域迁移中更改旧主键,第1张

概述我可以在领域迁移脚本中使用新主键更改旧主键吗?解决方法:对的,这是可能的.RealmObjectSchemaobjectSchema=schema.get("MyObject");objectSchema.addField("newId",long.class).transform(newRealmObjectSchema.Function(){

我可以在领域迁移脚本中使用新主键更改旧主键吗?

解决方法:

对的,这是可能的.

        RealmObjectSchema objectSchema = schema.get("MyObject");        objectSchema.addFIEld("newID", long.class)                .transform(new RealmObjectSchema.Function() {                    @OverrIDe                    public voID apply(DynamicRealmObject obj) {                        obj.setLong("newID", getNewID(obj));                    }                })                .removeFIEld("ID")                .renameFIEld("newID", "ID")                .addPrimaryKey("ID");

但是,您无法直接创建该字段

objectSchema.addFIEld("newID", long.class, FIEldAttribute.PRIMARY_KEY)

因为数据库中的值初始化为0,这意味着您将违反创建约束.因此,只有在设置值后才能添加主键约束.

在你的情况下,

RealmObjectSchema objectSchema = schema.get("MyObject");objectSchema.addFIEld("newID", long.class)    .transform(new RealmObjectSchema.Function() {        @OverrIDe        public voID apply(DynamicRealmObject obj) {            obj.setLong("newID", getNewID(obj));        }    })    .removePrimaryKey()    .addPrimaryKey("newID");
总结

以上是内存溢出为你收集整理的Android:在领域迁移中更改旧主键全部内容,希望文章能够帮你解决Android:在领域迁移中更改旧主键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1108568.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存