Plans for Custom Entities Storage schema changes

Hi Atlassian Forgers!

Do you have any plans to support schema changes in Custom Entities Storage like in SQL? Something like:

  • removing attributes
  • removing or changing indexes
  • data conversions between schema versions

Regards

Hi @piotr.bojko sorry we missed this, and didn’t respond earlier.

At this stage, there are no immediate plans to support schema / breaking changes for CES.

It would be good to understand the impact of this on your app development and use of CES (to assess priority to pick up in future). Are there any workarounds you have implemented? Are you hitting any of the schema/index/attribute limits?

Thanks.

For sure - iterative improvement for my apps\ is slowing down because of it. One can refactor domain during ongoing iteration but not the schema. We haven’t develop any workaround for now, except “move to new collection with updated schema”.

Please note that Atlassian is considering cloud2cloud migration mechanisms (“A” and “B”) somewhere around this forum. This may be fairly related solution for the schema changes as well.

I think, it would be ok to start from this:

  storage:
    schema:
      version: 2
      change:
        - version: 1
          description: Initial version
          function: from1To2DDL  
      migration:
        - version: 2
          function: migrate2

where from1To2DDL and migrate 2 would have signature

async function(ctx: Schema/MigrationContext): void

where ctx:

type SchemaContext {
  kvs: KVS; //access to data in previous schema verion
  result: {
    done: ()=>void
    error: (str:string) => void
  }
}