Anson

Results 65 issues of Anson

对于schema特别大的数据源,如果每次编译时都内省,会影响开发体验,因此新增数据缓存功能。 - 缓存数据源:开启后仅内省一次,后续无需内省 - 缓存刷新:可主动刷新缓存 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/24b94a3f-e5fd-476b-b85d-0b25b213a679)

v1.0版本的很多配置都是写死的,从开发环境到生产环境过渡时很不方便。 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/4d1567b2-0266-428a-aaaf-f9da228ec710) ![Image](https://github.com/fireboomio/fireboom/assets/20960032/cdfcb25a-9164-4c4c-8ac7-924161b178ae) 参考:[环境变量优化](https://docs.fireboom.io/geng-xin-ri-zhi/v2.0-geng-xin-shuo-ming#huan-jing-bian-liang-you-hua)

为了让中后台系统能批量修改fireboom的接口,提供了开放api。 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/fc8dee32-ade7-40f1-90f6-2f304c3edae9) 来源:[06-权限控制:RBAC&开放API](https://www.bilibili.com/video/BV1vx4y1f735/?share_source=copy_web&vd_source=e187780e6b11227e043343d927bdfd66)

第二次完整的后端代码重构,采用了很高维度的抽象~ - 后端代码的抽象 - 前端代码适配 - 引擎的抽象 - [文件目录的破坏性变更](https://docs.fireboom.io/geng-xin-ri-zhi/v2.0-geng-xin-shuo-ming#cun-chu-jie-gou-bian-geng) 参考: - 第一次后端重构 #30 - 第一次前端重构 #8

之前的版本#35 ,未考虑模板升级的情形。导致开发时用了旧版本,部署时会默认用最新版本。 基于模板仓库的hash值比对,来维护sdk模板。 - 模板升级提醒 - 模板差异对比 - 模板升级 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/0ba823a3-aa04-4529-a1f3-6ab7cc34d811) ![Image](https://github.com/fireboomio/fireboom/assets/20960032/8ae11bd2-8ed1-4009-a3c6-429957b28a4b) 体验 差异 -> [前往](https://github.com/fireboomio/sdk-template_go-server/compare/f18b831..f927d38) 详情见:[SDK升级策略优化 ](https://docs.fireboom.io/geng-xin-ri-zhi/v2.0-geng-xin-shuo-ming#sdk-sheng-ji-ce-lve-you-hua)

对于graphql operation 无法实现的功能,可以用 graphql脚本实现。 但 graphql脚本 的学习有一定成本,为了简化功能,特推出“自定义函数”功能。 它包括: - function:用于实现出入参都是JSON格式的场景 - proxy:用于实现出入参不是JSON格式的场景,如XML返回 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/de585835-aae7-4d80-b640-14366fc41ff6) ![Image](https://github.com/fireboomio/fireboom/assets/20960032/db47f47e-83a9-498b-b200-f79db1abb0ed) ![Image](https://github.com/fireboomio/fireboom/assets/20960032/2a0f1bef-a14d-47b6-a930-19c1e986a7ff)

Fireboom服务和钩子服务是两个独立服务。 - 钩子服务的启动依赖于Fireboom先生成代码。 - FIreboom服务又依赖钩子服务的正常启动。 因此,两个服务间经常会出现循环依赖的情况,导致开发体验极差。 本次优化,采用钩子主动上报心跳的方式来解决循环依赖,即钩子服务上线后主动通知Fireboom服务。 该机制极大的提升了Fireboom服务的稳定性!!!

Prisma数据源是一种特殊的数据库类型数据源,能实现所有数据库数据源拥有的功能! 其主要用途如下: - 虚拟外键:数据库无需建立外键,只在Pirsma model中建立,支持同数据库的关联查询 - 精简数据表:简化prisma model表或字段,只声明业务需要的表或字段,缩减超图大小,提高性能 参考:[Prisma 数据源](https://docs.fireboom.io/ji-chu-ke-shi-hua-kai-fa/shu-ju-yuan/prisma-shu-ju-yuan)

在实际的项目中发现需要前置全局钩子来实现全局拦截。 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/76f57272-e301-4759-9fe7-890c23247c47) - 引擎中增加beforeRequest钩子调用 - golang SDK支持 - nodejs SDK待支持

很多开发者迫切想要mongodb,优先支持了一波。 ![Image](https://github.com/fireboomio/fireboom/assets/20960032/c732c92b-f190-49a6-a50e-524851696aed)