搜索插件、代码仓与 APP 分类

插件详情v2.9.1

postgrest

Dart 的 PostgREST 客户端。此库为 PostgREST 提供了 ORM 接口。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
126万
喜欢数
137
Pub 分数
150

安装插件

flutter pub add postgrest

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

PostgREST 是一个 Dart 客户端库,提供类似 ORM 的接口,用于与 PostgREST(一个 PostgreSQL 数据库的 RESTful API 服务器)进行交互。它使开发者能够通过 HTTP 请求执行数据库操作,并将 SQL 查询抽象为直观的方法调用。专为 Supabase 设计,它简化了跨多个平台的数据检索、插入、更新和删除。该库支持所有主要平台,包括 Android、iOS、Web、macOS、Windows 和 Linux,非常适合全栈 Dart 应用程序。

适合场景

  • 使用 Supabase 构建实时应用
  • 对PostgreSQL执行CRUD操作
  • 无需自定义 API 即可集成后端逻辑
  • 创建跨平台的数据库驱动应用程序
  • 简化 Flutter 中的数据库交互
  • 启用安全、可扩展的数据访问

主要特点

  • PostgREST 的 ORM 风格接口
  • 支持所有主要平台
  • 与 Supabase 的无缝集成
  • 类型安全的查询构建
  • 自动 JSON 序列化
  • 灵活的筛选和排序

适合对象

  • 使用 Supabase 的 Flutter 开发人员
  • 需要直接访问 PostgreSQL 的应用
  • 避免自定义后端服务的团队
  • 需要快速原型设计的项目
  • 寻求轻量级数据库客户端的开发者

使用建议

  • 需要一个正在运行的 PostgREST 服务器
  • 依赖于 Supabase 生态系统
  • 仅限基于 PostgreSQL 的 API
  • 身份验证必须由外部处理
  • 不适用于需要自定义的复杂SQL场景

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。


Supabase Logo

Supabase Flutter

Flutter client library for Supabase.

Guides · Reference Docs · Migration Guides

Build Package License: MIT

Run locally

This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the packages directory.

To install on a locally developed app:

  • Clone this repo
  • Install Melos globally if you haven't already: dart pub global activate melos
  • Run melos bootstrap or melos bs at the root of the cloned directory to install dependencies
  • Add the target package to your pubspec.yaml file specifying the path.
    supabase_flutter:
      path: <your-path-to-the-local-supabase-flutter-repo>/packages/supabase_flutter
    

Testing your app

The helpers the test suites of these packages run on are published in package:supabase_test, so your tests can build on the same primitives: mock HTTP clients, JWT builders, auth session fixtures and realtime frames. Add the package as a dev dependency:

dev_dependencies:
  supabase_test: ^0.1.0

Then stub the endpoints the code under test talks to and run it against a real SupabaseClient, with no running stack required:

final httpClient = MockSupabaseHttpClient()
  ..stubTable('todos', rows: [
    {'id': 1, 'task': 'Ship it', 'status': false},
  ]);
final supabase = testSupabaseClient(httpClient: httpClient);
addTearDown(supabase.dispose);

final todos = await supabase.from('todos').select();
expect(todos, hasLength(1));

See the supabase_test README for the full guide: stubbing database, rpc, edge function and auth endpoints, asserting on recorded requests, running tests as a signed-in user, and wiring Supabase.initialize in Flutter widget tests.

Testing this repo

The tests for the packages postgrest, supabase_auth, supabase_realtime and supabase_storage run against a local Supabase stack. To run these tests locally you need docker and the Supabase CLI installed.

The single configuration for the stack lives in the supabase directory at the repository root. Start it with:

supabase start

Run the Dart tests within the package directory in packages/<package> with the following command. The -j 1 flag runs the tests not concurrently, which works better since the tests run against the same services.

dart test -j 1

To stop the stack run the following command from the repository root:

supabase stop

Contributing

  • Fork the repo on GitHub
  • Clone the project to your own machine
  • Commit changes to your own branch
  • Push your work back up to your fork
  • Submit a Pull request so that we can review your changes and merge

License

This repo is licensed under MIT.

Resources

所属分类

依赖

依赖清单 5 项

源码仓库

使用此插件的项目

暂无相关数据。