mui-toolpad
mui-toolpad copied to clipboard
Handle appDom versioning
-
[x] I have followed (at least) the PR section of the contributing guide.
-
Fixes #741
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-cbqe709a6gdkkqls7ti0.
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
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-cbtmc6hgp3jh0klgddg0.
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-cc0bbmnho1kkqqmag7v0.
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?
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-cc4b1rqrrk06g3mpdob0.
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-ccb6l4319n0f92ebcagg.
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-ccffl0en6mps829rerk0.
Your Render PR Server URL is https://toolpad-pr-776.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-cckuls82i3mqcbhrim9g.