飞布产品手册
官网B站Github
V2.0
V2.0
  • 序言
  • 更新日志
    • 更新日志V2.0
    • V2.0更新说明
    • 更新日志V1.0
  • 产品简介
    • 什么是飞布?
    • 飞布的价值
    • 飞布的优势
    • 应用场景
    • 数据安全
    • 产品案例
  • 快速入门
    • 初识飞布
    • 快速上手
      • 图文版
    • 词汇概览
    • 工作原理
  • 基础-可视化开发
    • 概览
      • CLI
      • 控制台
        • 主功能区
    • 数据源
      • 数据库
        • 数据库连接
          • 高级设置
        • 数据建模
        • 数据预览
      • Prisma 数据源
      • REST 数据源
      • GraphQL 数据源
      • 消息队列
    • API构建
      • 可视化构建
        • API规范
      • 批量新建
      • HTTP请求流程指令
      • 使用API
      • 实时查询
      • 实时推送
      • 关联查询
      • 数据缓存
      • 常见用例
    • 身份验证
      • 授权码模式
        • 身份验证(废弃)
      • 隐式模式
      • 数据权限控制
    • 身份授权
      • RBAC
        • 授权与访问控制(废弃)
      • 接口权限控制
      • 开放API
    • 文件存储
      • S3配置及使用
      • 文件管理面板
      • 高级配置:profile
  • 进阶-钩子机制
    • 钩子概览
    • 启动钩子
      • Node钩子
      • Golang钩子
      • Java钩子
      • Python钩子
    • OPERATION钩子
    • 身份验证钩子
    • graphql钩子
    • 函数钩子
      • function
      • proxy
    • 文件上传钩子
    • 内部调用
  • 使用-部署上线
    • 部署运维
      • 手动部署
        • 流水线部署(废弃)
      • Docker部署
      • 飞布云
      • sealos部署
    • 接口安全
      • CSRF token 保护
      • 跨域访问
    • 客户端SDK
      • Js SDK
      • 微信小程序SDK
      • Flutter SDK
      • uniapp SDK
    • 性能测试
  • 迁移到V2
  • 环境准备
    • 文件存储 S3
    • 身份认证 OIDC
    • NodeJs环境
  • 实战案例
    • Amis Admin
      • 管理后台-refine(废弃)
    • 实时TODO LIST
    • 语音版ChatGPT
    • AI魔法师实战
    • 阿里低代码引擎
    • appsmith集成
  • Roadmap
  • 常见问题
  • 核心概念
    • GraphQL
    • 超图
    • 请求时序图
    • 服务端Operation
  • 二次开发
    • 钩子规范
      • 钩子规范bak
    • 模板规范
    • 自定义模板
    • 其它参考
由 GitBook 提供支持
在本页

这有帮助吗?

在GitHub上编辑
  1. 基础-可视化开发
  2. 数据源

Prisma 数据源

Prisma数据源是一种特殊的数据库类型数据源,能实现所有数据库数据源拥有的功能!

其主要用途如下:

  • 虚拟外键:数据库无需建立外键,只在Pirsma model中建立,支持同数据库的关联查询

  • 支持视图:在prisma model建立视图表,实现视图的查询(更新待测试)

  • 精简数据表:简化prisma model表或字段,只声明业务需要的表或字段,缩减超图大小,提高性能

快速使用

1,数据源新建页->prisma,设置名称后进入编辑页

2,在编辑区中输入datasource参数,例如:

datasource db {
  provider = "mysql"
  url      = "mysql://root:xxx@localhost:3306/rbac"
}
# or
datasource db {
  provider = "mysql"
  url      = env("DB_URL")
}

3,点击“内省”获取全量 prisma model

datasource db {
  provider = "mysql"
  url      = "mysql://root:xxx@localhost:3306/rbac"
}

model Role {
  code       String       @id
  name       String
}

model User {
  uid  String @id
  name String
}

model Permission {
  id            Int    @id @default(autoincrement())
  name          String @unique
  operationPath String @unique
  operationId   BigInt @unique
}

model post {
  id      Int    @id @default(autoincrement())
  content String
  cate    String
}

4,将上述prisma model修改如下:

datasource db {
  provider = "mysql"
  url      = "mysql://root:xxx@localhost:3306/rbac"
}

model Role {
  code       String       @id
  name       String
  Permission Permission[] #增加外键关联
  User       User[]       #增加外键关联
}

model User {
  uid  String @id
  name String
  Role Role[]             #增加外键关联
}

model Permission {
  id            Int    @id @default(autoincrement())
  name          String @unique
  operationPath String @unique
  operationId   BigInt @unique
  Role          Role[]   #增加外键关联
}

# 删除post表

本质上是删减表、字段或增加外键关联!

5,保存并上线该数据库,即可在超图中使用

Fireboom根据手动编写的Prisma model生成子图,合并到超图中。

上一页数据预览下一页REST 数据源

最后更新于1年前

这有帮助吗?