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

生成patch 文件

  • 安装npm 依赖
 
yarn
  • 生成patch
    重命名原有的文件(进入npm 包目录)
    cp PostgresDriver.js PostgresDriver-origin.js
    修改PostgresDriver.js ,删除不兼容的部分:

生成patch

diff -Nur node_modules/@cubejs-backend/postgres-driver/driver/PostgresDriver-origin.js node_modules/@cubejs-backend/post
gres-driver/driver/PostgresDriver.js > cratedb-driver-patch.patch

恢复原有文件内容

新项目应用patch

需要先安装依赖,同时copy patch 文件

patch < cratedb-driver-patch.patch

效果

patch < cratedb-driver-patch.patch 
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- node_modules/@cubejs-backend/postgres-driver/driver/PostgresDriver-origin.js 2019-08-19 13:03:59.000000000 +0800
|+++ node_modules/@cubejs-backend/postgres-driver/driver/PostgresDriver.js 2019-08-19 13:04:05.000000000 +0800
--------------------------
File to patch: node_modules/@cubejs-backend/postgres-driver/driver/PostgresDriver.js
patching file node_modules/@cubejs-backend/postgres-driver/driver/PostgresDriver.js

说明

以上是一个简单的借鉴linux c patch 处理的方式解决cube.js 兼容cratedb 的问题,就是一个简单的学习

参考资料

https://github.com/rongfengliang/cube.js-cratedb-patch-demo

通过patch 方式解决cube.js 集成cratedb 的问题的更多相关文章

  1. cube.js 集成cratedb 的尝试

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

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

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

  3. 三种方式解决你的js加载乱码

    第一种方式——编码统一 我们以前觉得出现乱码的原因是因为编码不统一,就是因为我们设置编码统一之后,就解决了问题,所以,让html和js的编码统一,是最简单的一个乱码解决方式,原因是什么,是因为,如果你 ...

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

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

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

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

  6. 转载:Java高并发,如何解决,什么方式解决

    原文:https://www.cnblogs.com/lr393993507/p/5909804.html 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并 ...

  7. 【转】Java高并发,如何解决,什么方式解决

    原文地址:https://www.cnblogs.com/lr393993507/p/5909804.html 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了. ...

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

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

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

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

随机推荐

  1. [CF24A]Ring road(2019-11-15考试)

    题目大意 给你一个\(n\)个点的环,每条边有方向,改变第\(i\)条边的方向代价为\(w_i\),问将其改为强连通图的最小代价.\(n\leqslant100\) 题解 求出把边全部改为顺时针和全部 ...

  2. Python Web 之 Flask SQLalchemy

    Flask-SQLalchemy 一. 一对多 A表中的一条记录与B表中的多天记录关联 语法实现: 在"多"实体类中增加 外键列名 = db.Column(db.Integer, ...

  3. NET MVC 上传文件

    1.HTML @using (Html.BeginForm("UploadFile", "Student", FormMethod.Post, new { en ...

  4. Java Mockito 笔记

    Mockito 1 Overview 2 Maven 项目初始化 3 示例 3.1 第一个示例 3.2 自动 Mock 3.3 Mock 返回值 3.4 Mock 参数 3.5 自动注入 Mock 对 ...

  5. YAML语言简明教程

    编程免不了要写配置文件,如果你还在用xml/ini/json,就有点过时了,怎么写配置也是一门学问. YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 本文介绍 YAM ...

  6. 处理收到的Stanzas

    处理收到的Stanzas 背部 Smack使用两种结构提供了一个灵活的框架来处理传入的节: org.jivesoftware.smack.StanzaCollector - 一个允许您同步等待新节的类 ...

  7. 关于springMVC中的路径问题

    相对路径中,我们最后想要的到的是绝对路径,而绝对路径=参照路径+相对路径: 相对路径往往都知道,只需要区分参照路径即可:对于前台和后台,参照路径不太相同: 什么是前台,后台路径: 前台路径: 出现在 ...

  8. java 之 集合概述

    一.集合概述 不管是哪一种数据结构,其实本质上都是容器来着,就是用来装对象的.因此,我们就要搞清楚两点:(1)如何存储(2)存储特点 1.集合 集合是 Java 中提供的一种容器,可以用来存储多个数据 ...

  9. 英语orientaljasper鸡血石orientaljasper单词

    鸡血石(orientaljasper),是辰砂条带的地开石,因鲜红色似鸡血的辰砂(朱砂)而得名.鸡血石含有辰砂(朱砂).石英.玉髓35%-45%.磁铁矿.赤铁矿6%-12%.辰砂约5%-8%. 鸡血石 ...

  10. 【译】itertools

    1.Itertools模块迭代器的种类 1.1  无限迭代器: 迭代器 参数 结果 示例 count() start, [step] start, start+step, start+2*step, ...