【GraphQL】什么是Prisma?
本页提供了Prisma及其工作原理的高级概述。
如果您想开始一个实用的介绍并了解Prisma Client API,请参阅入门文档。
要了解更多关于Prisma的动机,请查看“为什么选择Prisma?”?页
什么是Prisma?
Prisma是一个开源的下一代ORM。它由以下部分组成:
- Prisma客户端:Node.js和TypeScript的自动生成和类型安全查询生成器
- Prisma迁移:迁移系统
- Prisma Studio:GUI,用于查看和编辑数据库中的数据。
Prisma Studio是Prisma ORM中唯一一个非开源的部分。您只能在本地运行Prisma Studio。Prisma Studio还集成在我们的商业产品Prisma Data Platform中,名称为Data Browser。在数据浏览器中,您可以查看和编辑每个项目的数据,其他团队成员也可以在您授予他们适当角色的权限后进行查看和编辑。
【GraphQL 】将GraphQL API添加到Postgres数据库的六种简单方法,比较Hasura、Prisma和其他
PostgreSQL是世界上最流行的开源SQL数据库之一,GraphQL是一种日益流行的API规范。
将经过验证和众所周知的PostgreSQL与GraphQL带来的API创建新方式集成在一起不是很好吗?
在本文中,我们讨论了六个不同的项目,它们试图将SQL与GraphQL世界合并。其中一些甚至允许基于数据库结构自动创建模式。
以数据库为中心的方法
以数据库为中心的解决方案试图消除大多数配置和架构设置。他们将检查我们的数据库外观,并为我们提供类型和端点。
由于他们知道数据库的结构,他们可以为我们生成高性能的解析器,因此我们不会遇到N+1查询问题。
1. Hasura
Instant Real-time GraphQL on Postgres
Hasura可能是目前球场上最令人兴奋的球员。这是服用类固醇的PHPMyAdmin。
它在Docker容器中运行,作为数据库前面的服务器,并为我们提供一个DB和API的管理UI,就像PHPMyAdmin一样。
【PaaS】Supabase架构
Supadase是开源的。我们选择可扩展的开源工具,使其易于使用。
Supadase不是Firebase的1对1映射。虽然我们正在构建Firebase提供的许多功能,但我们不会以同样的方式进行:
我们的技术选择大不相同;我们使用的一切都是开源的;在任何可能的情况下,我们都使用和支持现有的工具,而不是从头开始开发。
最值得注意的是,我们使用Postgres而不是NoSQL存储。这个选择是经过深思熟虑的。我们相信,没有其他数据库能够提供与Firebase竞争所需的功能,同时保持超越Firebase所需的可扩展性。
选择您的舒适度#
我们在Suabase的目标是让所有的Postgres都易于使用。这并不意味着你必须使用所有的工具。如果你是一名研究生,你可能会喜欢我们提供的工具。如果你以前从未使用过Postgres,那就从小规模开始,慢慢发展。如果你只想把Postgres当作一个简单的表存储,那就太好了。
架构#
每个Subabase项目都由几个工具组成:
【GraphQL】PostGraphile简介
什么是PostGraphile?
如果您熟悉Spring Data JPA,那么理解PostGraphile将非常容易。但没关系。让我们来看看。PostgreSQL数据库是一个非常流行的高性能应用数据库。ProstGraphile与PostgreSQL数据库和GraphQL配合使用。
它在几秒钟内从PostgreSQL模式提供了即时和高性能的GraphQLAPI,并提供了更多功能。
PostGraphile的特点
- 令人惊叹的展示
- 数据库关系自动发现,CRUD自动突变
例如:vehicleById、createVehicle、updateVehicle、deleteVehicle等。
【全栈开发】React和Node.js的前端和后端集成[全栈教程第三部分]

In this tutorial series, we’re exploring the core concepts and benefits of using GraphQL with Node.js and TypeScript architecture as we build a full-stack application together.
【GraphQL 】GraphQL API与PostGraphile的全堆栈应用程序集成[教程第2部分]
【GraphQL 】用TypeScript+Node.js构建GraphQL API[完整教程第1部分]
【全栈开发】使用GraphQL、Amazon Rds和Hasura开发Angular应用程序的终极指南
使用GraphQL编写数据和查询API可以加快软件开发过程。与REST API相比,使用GraphQL可以得到您想要的东西,后者为您提供了一个可能导致数据传输浪费的完整数据集。使用GraphQL技术查询API意味着我们终于可以告别过度获取了。
将任何软件应用程序与GraphQL绑定将提高应用程序的性能,因为您只选择需要的字段。在本教程中,您将学习如何使用Apollo客户端将GraphQL与Angular框架绑定。AWS RDS将成为我们的Postgres数据库,我们将在其上部署Hasura。Hasura GraphQL引擎将使我们能够快速连接到我们的GraphQL API。为了高效地开发我们的GraphQL API,我们将使用Hasura来完成以下工作;
- 创建一个表。
- 设置外键。
- 查询响应缓存。
为了更好地理解这个概念,我们的Angular应用程序将使用突变创建新闻文章,并提取文章,以便将它们注入用户界面。
【全栈开发】使用NestJS、Angular和Prisma的全栈Typescript
在开发Angular应用程序时,我非常喜欢Typescript。使用NestJS,您可以以与Angular非常相似的方式编写后端。
我偶然发现了这个库,发现它非常有趣,所以我想设置一个简单的测试项目。一般来说,我主要使用SQL数据库,因此我也将尝试Prisma将我们的数据存储在PostgreSQL中,并在前端和后端之间提供一个通用模型。

要开始使用NestJS,您必须安装npm包并运行CLI命令来创建新的应用程序。为了在NestJS项目中托管我们的Angular应用程序,我们还需要添加NestJS静态包。
【预测工具】不须编码的预测工具
有一天,我的同事问我,他应该如何做一个快速预测模型而不是Excel,并产生比线性回归或Excel图中的那些简单方程更好的结果。这是我的答案。

