• cube.js 集成cratedb 的尝试


    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

  • 相关阅读:
    Java学习8.31
    Java学习8.30
    Java学习8.29
    Java学习8.28
    Java学习8.27
    Java学习8.26
    242. Valid Anagram 有效的字符串
    680. Valid Palindrome II 对称字符串-可删一个字母版本
    151. Reverse Words in a String翻转一句话中的单词
    155. Min Stack 155.最小栈
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/11375430.html
Copyright © 2020-2023  润新知