prisma 集成 pipelinedb测试

时间:2023-03-10 04:27:47
prisma 集成 pipelinedb测试

pipelinedb 是一个基于pg数据库开发的stream sql 数据库,和prisma 集成起来可以开发很
方便的stream 应用

使用docker 安装

项目初始化

  • prisma init

    注意选择数据库类型为pg

prisma init 
  • 修改模板配置
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.13
restart: always
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
# uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
# managementApiSecret: my-secret
databases:
default:
connector: postgres
host: pipelinedb
port: 5432
user: pipeline
password: pipeline
migrations: true
pipelinedb:
image: tkanos/pipelinedb_kafka
ports:
- "5432:5432"
  • 初始化数据库
需要添加prisma 数据库,可以通过pg 客户端进行创建,用户密码 pipeline   pipeline
  • 启动
docker-compose up -d
  • deploy service
prisma deploy

效果

schema
prisma 集成 pipelinedb测试
query
prisma 集成 pipelinedb测试

mutation
prisma 集成 pipelinedb测试
数据库
prisma 集成 pipelinedb测试

pipeliendb 简单使用

  • 创建stream
CREATE STREAM stream_test1 (x integer, y integer,z text);
  • 创建 CONTINUOUS
CREATE CONTINUOUS VIEW v_sum as select sum( x + y ) FROM stream_test1;
CREATE CONTINUOUS VIEW V_GROUP AS SELECT count(*) as coun,x,y,z FROM stream_test1 GROUP BY x,y,z;
  • 插入数据
INSERT INTO stream_test1(x,y,z) VALUES(1,2,'A'),(3,4,'B'),(5,6,'C'),(7,8,'D'),(1,2,'A');
  • 查询
select * from v_sum;
select * from v_group;
  • 效果
    prisma 集成 pipelinedb测试
    prisma 集成 pipelinedb测试

说明

pipelinedb 的stream 特性是一个很不错的功能,实际上集成hasura 的graphql 引擎可能会更方便,后边会有相关的测试集成

参考资料

https://www.pipelinedb.com/
https://github.com/rongfengliang/prisma-pipelinedb-demo