mui-toolpad icon indicating copy to clipboard operation
mui-toolpad copied to clipboard

Handle appDom versioning

Open bharatkashyap opened this issue 2 years ago • 6 comments

bharatkashyap avatar Aug 11 '22 11:08 bharatkashyap

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-cbqe709a6gdkkqls7ti0.

render[bot] avatar Aug 11 '22 11:08 render[bot]

Adding the pseudocode we talked about in last 1-on-1 as a potential starting point

// ./migrations/version1.ts
export default {
  up (dom) {
    invariant(!dom.version || dom.version === '0', 'Can only migrate dom of version 0');
    return dom;
  }
}


// ./migrations/version2.ts
export default {
  up (dom) {
    invariant(dom.version === '1', 'Can only migrate dom of version 1');
    return dom;
  },
  down (dom) {
    invariant(dom.version === '2', 'Can only migrate dom of version 2');
    return dom;
  }
}

// ./migrations/index.ts
import version1 from './version1'
import version2 from './version2'

const versions = new Map([
  ['1', version1],
  ['2', version2],
]);

const latestVersion = Array.from(versions.keys()).pop();

function migrate(dom, version = latestVersion) {
  return //...
}

edit

I'm thinking it would probably be easier to use number for versions, as they are more straightforward to compare

Janpot avatar Aug 12 '22 09:08 Janpot

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-cbtmc6hgp3jh0klgddg0.

render[bot] avatar Aug 16 '22 09:08 render[bot]

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-cc0bbmnho1kkqqmag7v0.

render[bot] avatar Aug 20 '22 10:08 render[bot]

Should the migrated dom be written back to the app in the database? Should we save the versions of the dom and keep an audit log?

bharatkashyap avatar Aug 20 '22 11:08 bharatkashyap

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-cc4b1rqrrk06g3mpdob0.

render[bot] avatar Aug 26 '22 11:08 render[bot]

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-ccb6l4319n0f92ebcagg.

render[bot] avatar Sep 05 '22 21:09 render[bot]

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-ccffl0en6mps829rerk0.

render[bot] avatar Sep 12 '22 09:09 render[bot]

Your Render PR Server URL is https://toolpad-pr-776.onrender.com.

Follow its progress at https://dashboard.render.com/web/srv-cckuls82i3mqcbhrim9g.

render[bot] avatar Sep 20 '22 16:09 render[bot]