cratedb 提供了pg协议的兼容,我们可以直接使用pg client 连接,但是也不是完整实现pg 协议的
以下是 cube.js 集成cratedb 的一些尝试

环境准备

  • docker-compose 文件

    主要是数据库环境的

 
version: "3"
services: 
  db:
    image: crate
    ports: 
    - "5432:5432"
    - "4200:4200"
  • cube.js pg 项目创建
cubejs create -d postgres cratedemo
  • 修改cube 环境变量
CUBEJS_DB_HOST=127.0.0.1
CUBEJS_DB_USER=crate
CUBEJS_DB_TYPE=postgres
CUBEJS_API_SECRET=c35c282663b0ba7918ad48740ab7bb326bcb733b97b0b5f434ba188c685b8dffbfb47c9ad37650643ff24ebffdc618255f967f60a6a50bd1d189692f14e76fe0

schema 生成的尝试

  • 启动cratedb
docker-compose up -d

效果

  • 启动cube dev
yarn dev

错误信息:

说明:
主要是cube pg driver 在时区处理上使用了cratedb 不支持的命令代码如下:

解决方法:
临时先删除了set time zone 的处理

  • 重新启动dev
 
yarn dev

效果(很好,schema 可以出现了)

  • 创建table(通过admin ui)
create table userapps (id int,appname text,appversion text,flags boolean);

刷新cube dev(创建的table schema 出现了)

  • 生成schema

  • 插入数据
insert into userapps(id,appname,appversion,flags) values(1,'login','1.0',true);
insert into userapps(id,appname,appversion,flags) values(2,'logo','1.0',true);
insert into userapps(id,appname,appversion,flags) values(3,'market','1.0',true);
  • 简单数据报表生成

说明

以上就是一个简单cube.js 集成cube.js 的尝试,更好的做法是修改代码,调整为一个标准的driver(npm 包),同时按照官方的约定,最好还是pr
因为对于driver 的依赖是代码固定好的,如下:

参考资料

https://github.com/cube-js/cube.js

cube.js 集成cratedb 的尝试的更多相关文章

  1. 通过patch 方式解决cube.js 集成cratedb 的问题

    今天有写过一个简单的cube.js 集成cratedb 的说明,主要是在driver 上的兼容问题,处理方法是删除不兼容的代码 实际上我们也可以通过类似linux c 开发中的patch 方式解决,简 ...

  2. 关于新版本cube.js 集成preosto 的一个说明

    实际上cubejs cli 是可以使用的,只是官方文档对于dbtype 说明的问题 使用如下命令我们可以创建prestodb 的基本项目   cubejs create -d prestodb myd ...

  3. 大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app

    大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app ( 本文内容为melodyWxy原作,git地址:https://github.com/melodyWx ...

  4. cube.js 通过presto-gateway 进行连接

    cube.js 对于presto 的支持是通过presto-client 刚好简单修改了一个可以支持presto-gateway 连接的 以下是一个简单的集成,以及关于集成中原有的一些修改 环境准备 ...

  5. cube.js 学习 cube docker-compose 运行

    cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修 ...

  6. cube.js 学习(十一)cube + gitbase 分析git 代码

    这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大 ...

  7. cube.js 学习(八)backend部署模式

    cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 s ...

  8. cube.js 学习(二)cube.js与 graphql2chartjs的比较

    cube.js 是目前看到从设计以及理念上很不错的数据分析事件,graphql2chartjs 是hasura graphql-engine 团队开发 的一个类库基于graphql,以下做一些比较 c ...

  9. cube.js 开源模块化分析框架

    cube.js 是一款很不错的模块化web 应用分析框架.cube.js 的设计主要是面向serverless 服务, 但是同时也支持所有rdbms, cube.js不是一个单体应用,包含了以下部分: ...

随机推荐

  1. 『磁力块 bfs 分块』

    磁力块 Description 在一片广袤无垠的原野上,散落着N 块磁石.每个磁石的性质可以用一个五元组 (x,y,m,p,r)描述,其中x,y 表示其坐标,m 是磁石的质量,p 是磁力,r 是吸引半 ...

  2. 爬虫基础 之 urllib

    一.urllib 1. 访问 urllib.request.urlopen() 参数: url:需要爬取的URL地址 timeout:设置等待时间,指定时间内未得到相应时抛出异常 # 导入模块 imp ...

  3. 命令创建.net core3.0 web应用详解(超详细教程)

    原文:命令创建.net core3.0 web应用详解(超详细教程) 你是不是曾经膜拜那些敲几行代码就可以创建项目的大神,学习了命令创建项目你也可以成为大神,其实命令创建项目很简单. 1.cmd命令行 ...

  4. laravel 5.5 仓库模式 文件之间接口与实现操作

    仓库模式 最直接的意思就是: Eloquent数据(数据库)查询  方便快捷,简单明了.自己怎么写的,就怎么去调用,完全ok~ 本质意思: 仓库就像是业务内部的数据对象集合,负责协调业务和数据映射层之 ...

  5. mysql 中的 not like 另一种简化方法。

    第一种 not like 方法 select * from table where `zongbu` not like '%北京%' and `zongbu` not like '%上海%' and ...

  6. chrome安装插件

    看了很多的解决办法,也试了很多种,有的有点用,有的只能用一次,最后成功了,在这里总结一下 一.首先下载 很多人下载的都ctx格式的,然后拖进去安装,用了一次就崩溃了,主要还是安装方式不对,一般需要将下 ...

  7. django配置文件

    1.BASSE_DIR BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 当前工程的根目录,Django会依 ...

  8. ASP.NET Core中返回 json 数据首字母大小写问题

    ASP.NET Core中返回 json 数据首字母大小写问题 在asp.net core中使用ajax请求动态绑定数据时遇到该问题 后台返回数据字段首字母为定义的大写,返回的数据没有问题 但是在前台 ...

  9. Java 之 线程 —线程通信( 等待唤醒机制)

    一.线程间通信 概念:多个线程在处理同一资源,但是处理的动作(线程的任务)却不相同. 例如: 线程 A 用来生成包子的,线程 B 用来吃包子的,包子可以理解为同一资源,线程 A 与线程 B 处理的动作 ...

  10. Java集合学习(5):LinkedHashMap

    一.概述 HashMap是无序的,HashMap在put的时候是根据key的hashcode进行hash然后放入对应的地方.所以在按照一定顺序put进HashMap中,然后遍历出HashMap的顺序跟 ...