开发一个cube.js cratedb driver

核心还是参考了官方的说明以及pg,因为cratedb driver 核心就是一个关于时间处理的

核心代码

删除以下

// await client.query(`SET TIME ZONE '${this.config.storeTimezone || 'UTC'}'`);

包装处理

为了方便,自定义了方言(参考pg 的同时集成在一起)

使用

.env 文件

CUBEJS_DB_HOST=localhost
CUBEJS_DB_NAME=doc
CUBEJS_DB_USER=crate
CUBEJS_DB_PASS=
CUBEJS_WEB_SOCKETS=true
CUBEJS_DEV_MODE=true
CUBEJS_DB_TYPE=cratedb

cube.js 文件

const {CrateDBDriver,CrateDBQuery} = require("@dalongrong/cratedb-driver")
module.exports = {
    dialectFactory: (dataSource) => {
        // need config  datasource  for multitenant env
        return CrateDBQuery
    },
    dbType: ({ dataSource } = {}) => {
        return "cratedb"
    },
    driverFactory: ({ dataSource } = {}) => {
        return new CrateDBDriver({})
    }
}

说明

具体代码参考github

参考资料

https://github.com/rongfengliang/cubejs-cratedb-driver
https://github.com/cube-js/cube.js/blob/master/CONTRIBUTING.md
https://www.cnblogs.com/rongfengliang/p/14369653.html

posted on   荣锋亮  阅读(109)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-03-26 envdir 环境变量管理工具
2020-03-26 几个方便处理wal log 的工具
2019-03-26 Writing and playing with custom Terraform Providers
2019-03-26 Write your own Terraform provider: Part 1
2019-03-26 Creating Modules
2018-03-26 使用openresty && minio && thumbor 构建稳定高效的图片服务器

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示