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

插件详情v0.18.0

stormberry

一个强类型的 PostgreSQL ORM,可轻松在您的 Dart 类和 PostgreSQL 数据库之间建立绑定。

AndroidiOSmacOSWindowsLinux
近 30 天下载
258
喜欢数
138
Pub 分数
150

安装插件

flutter pub add stormberry

插件介绍

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

Stormberry 是一个强类型的 Dart PostgreSQL ORM,可简化 Dart 类与 PostgreSQL 数据库表之间的映射。它提供类型安全的查询和模式管理,减少样板代码并最大限度地降低运行时错误。专为寻求在 Flutter 和 Dart 应用中实现可靠、可维护数据库交互的开发者设计,Stormberry 通过清晰直观的 API 与 PostgreSQL 无缝集成。该包支持 Android、iOS、macOS、Windows 和 Linux 等多个平台,非常适合需要强大后端数据处理能力的跨平台应用。

适合场景

  • 使用 PostgreSQL 后端构建跨平台应用程序
  • Flutter 中类型安全的数据库操作
  • 自动化模式迁移
  • 减少数据层代码中的样板代码
  • 将 PostgreSQL 与 Dart 服务集成

主要特点

  • 强类型实体映射
  • 查询的编译时安全性
  • 对平台无关数据库访问的支持
  • 内置迁移工具
  • 干净、可读的查询语法

适合对象

  • 使用 PostgreSQL 的 Dart/Flutter 开发人员
  • 重视类型安全的团队
  • 需要可扩展数据层的项目
  • 具有结构化数据模型的后端服务
  • 需要一致的数据库模式管理的应用程序

使用建议

  • 需要设置 PostgreSQL 服务器
  • 仅限 PostgreSQL(不包括其他数据库)
  • ORM 概念的学习曲线
  • 依赖客户端应用中的稳定网络连接
  • 可能需要为复杂架构进行额外配置

原始 README

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

Stormberry


A strongly-typed postgres ORM to provide easy bindings between your dart classes and postgres database. It supports all kinds of relations without any complex configuration.


Quick Start

To get started, add stormberry as a dependency and build_runner as a dev dependency:

dart pub add stormberry
dart pub add build_runner --dev

In your code, specify an abstract class that should act as a table like this:

// This file is "model.dart"
import 'package:stormberry/stormberry.dart';

// Will be generated by stormberry
part 'model.schema.dart';

@Model()
abstract class User {
  @PrimaryKey()
  String get id;

  String get name;
}

In order to generate the database code, run the following command:

dart run build_runner build

Tip: You'll need to re-run code generation each time you are making changes to your models. During development, you can use watch to automatically watch your changes: dart pub run build_runner watch.

This will generate a .schema.dart file that you should add as a part to the original model file.


Before running your application, you have to migrate your database. To do this run:

dart run stormberry migrate

This will ask you for the connection details of your postgres database and then migrate the database schema by adding the users table.


To access your database from your application, create a Database instance and use the users repository like this:

void main() async {
  
  var db = Database(
    // connection parameters go here
  );
  
  // adds a user to the 'users' table
  await db.users.insertOne(UserInsertRequest(id: 'abc', name: 'Alex'));
  
  // finds a user by its 'id'
  var user = await db.users.queryUser('abc');
  
  assert(user.name == 'Alex');
}

Full Documentation

See the full documentation here or jump directly to the topic you are looking for:

所属分类

依赖

依赖清单 12 项

源码仓库

使用此插件的项目

暂无相关数据。