菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
49
0

cube.js schemaversion的处理

原创
05/13 14:22
阅读数 725155

标签:container   contain   str   测试   module   script   lin   系统   als   

cube.js 提供了动态schema 生成的处理,但是有些时候是需要进行schema 重新编译生成的
cube.js 提供了一个schemaVersion的配置选项可以用来解决此解决,我们可以基于api进行扩展

参考定义

注意此选项对于dev 模式是没有用的,因为dev每次都会进行schema 的编译处理的,需要在production环境测试

  • production 环境启用
    可以通过环境变量NODE_ENV=‘production‘,或者代码的devServer: false 控制
  • 参考代码
 
module.exports = {
  schemaVersion: async ({ authInfo }) => {
    const schemaVersions = await (
      await fetch(‘http://your-api-endpoint/schemaVersion‘)
    ).json();
?
    return schemaVersions[authInfo.tenantId];
  },
};

说明

如果进行schema 重新编译的处理我们就可以基于自己包装的一个通用服务,进行不同app 或者不同租户的版本管理,这样可以
包装schema数据的实时更新,增强系统的灵活性,同时可以方便的集成我们的ci/cd 系统或者软schema 的生命周期管理

参考资料

https://cube.dev/docs/schema/dynamic-schema-creation#usage-with-schema-version

cube.js schemaversion的处理

发表评论

0/200
49 点赞
0 评论
收藏
为你推荐 换一批