cratedb 提供了pg协议的兼容,我们可以直接使用pg client 连接,但是也不是完整实现pg 协议的
以下是 cube.js 集成cratedb 的一些尝试
主要是数据库环境的
version: "3"
services:
db:
image: crate
ports:
- "5432:5432"
- "4200:4200"
cubejs create -d postgres cratedemo
CUBEJS_DB_HOST=127.0.0.1
CUBEJS_DB_USER=crate
CUBEJS_DB_TYPE=postgres
CUBEJS_API_SECRET=c35c282663b0ba7918ad48740ab7bb326bcb733b97b0b5f434ba188c685b8dffbfb47c9ad37650643ff24ebffdc618255f967f60a6a50bd1d189692f14e76fe0
docker-compose up -d
效果
yarn dev
错误信息:
说明:
主要是cube pg driver 在时区处理上使用了cratedb 不支持的命令代码如下:
解决方法:
临时先删除了set time zone 的处理
yarn dev
效果(很好,schema 可以出现了)
create table userapps (id int,appname text,appversion text,flags boolean);
刷新cube dev(创建的table 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
原文:https://www.cnblogs.com/rongfengliang/p/11375430.html