How to set primary key auto increment in realm android

后端 未结 8 669
眼角桃花
眼角桃花 2020-12-14 07:13

I want to set primary key auto increment for my table.

Here is my Class. I have set primary key but I want it to be auto increment primary key.

publ         


        
8条回答
  •  执念已碎
    2020-12-14 07:50

    there is an example that make a sequence to implement auto increment of primary key id:

    https://raw.githubusercontent.com/505aaron/realm-migration-example/master/realm/sequencer.js

    const sequencer = (realmInstance, schema, props) => new Promise((resolve, reject) => {
      let saved;
    
      try {
        realmInstance.write(() => {
          const obj = { ...props };
    
          if (typeof obj.id === 'undefined') {
            let seq = realmInstance.objects('Sequence').filtered(`name = "${schema}"`)[0];
            if (typeof seq === 'undefined') {
              seq = realmInstance.create('Sequence', { name: schema, value: 0 });
            }
            obj.id = seq.next();
          }
          saved = realmInstance.create(schema, obj, true);
    
          resolve({ ...saved });
        });
      } catch (e) {
        reject(e);
      }
    });
    
    export default sequencer;
    

提交回复
热议问题