cube.js playground 使用的一些问题

playground 是一个很不错的选择,可以方便的为我们生成cube.js schema 但是如果经常使用的话,会发现一些问题

只包含了为string类型的列

当然这个应该是一个bug,具体可以参考 https://github.com/cube-js/cube.js/blob/master/packages/cubejs-schema-compiler/src/scaffolding/ScaffoldingSchema.js#L144

对于列包含了一些常见属于的就会自动放到度量中

参考命名

 // 会自动到度量中
const MEASURE_DICTIONARY = [
  'amount',
  'price',
  'count',
  'balance',
  'total',
  'number',
  'cost',
  'qty',
  'quantity',
  'duration',
  'value'
];
// 会自动添加drill
const DRILL_MEMBERS_DICTIONARY = [
  'id',
  'name',
  'title',
  'firstname',
  'first_name',
  'lastname',
  'last_name',
  'createdat',
  'created_at',
  'created',
  'timestamp',
  'city',
  'country',
  'date'
];

当然这个并没有多大问题,但是会造成加入我们的列包含了上述字段那就会出现生成的schema 编译问题

id 判断问题

参考正则

// 包含_id 以及id 的会自动识别为id
const idRegex = '_id$|id$';

说明

以上是一个日常的问题,推荐在命名的时候规避这些问题

参考资料

https://github.com/cube-js/cube.js/blob/master/packages/cubejs-schema-compiler/src/scaffolding/ScaffoldingSchema.js#L144
https://github.com/cube-js/cube.js/blob/master/packages/cubejs-schema-compiler/src/scaffolding/ScaffoldingSchema.js

上一篇:cube.js 通过prepareCompiler获取 meta


下一篇:利用cube-tab-bar 搭配cube-ui的组件(cube-slide ,cube-scroll)来做出App屏幕切换,Tab跟随页面变化效果