Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.18.0

stormberry

Ein stark typisierter PostgreSQL-ORM, um einfache Bindungen zwischen Ihren Dart-Klassen und der PostgreSQL-Datenbank bereitzustellen.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
258
Likes
138
Pub-Punkte
150

Paket installieren

flutter pub add stormberry

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Stormberry ist ein stark typisierter PostgreSQL-ORM für Dart, der die Abbildung zwischen Dart-Klassen und PostgreSQL-Datenbanktabellen vereinfacht. Es bietet typsichere Abfragen und Schema-Management, wodurch Boilerplate-Code reduziert und Laufzeitfehler minimiert werden. Für Entwickler, die zuverlässige und wartbare Datenbankinteraktionen in Flutter- und Dart-Anwendungen suchen, wurde Stormberry entwickelt und integriert sich nahtlos mit PostgreSQL über klare, intuitive APIs. Das Paket unterstützt mehrere Plattformen wie Android, iOS, macOS, Windows und Linux und ist daher ideal für plattformübergreifende Anwendungen, die eine robuste Backend-Datenverarbeitung erfordern.

Anwendungsfälle

  • Cross-Plattform-Apps mit PostgreSQL-Backends erstellen
  • Typsichere Datenbankoperationen in Flutter
  • Automatisierung von Schema-Migrationen
  • Reduzierung von Boilerplate im Datenlayer-Code
  • Integration von PostgreSQL mit Dart-Diensten

Hauptmerkmale

  • Stark typisierte Entitätszuordnung
  • Sicherheit zur Kompilierzeit für Abfragen
  • Unterstützung für plattformunabhängigen Datenbankzugriff
  • Eingebaute Migrationstools
  • Saubere, lesbare Abfragesyntax

Geeignet für

  • Dart/Flutter-Entwickler, die PostgreSQL verwenden
  • Teams, die Typensicherheit priorisieren
  • Projekte, die skalierbare Datenebenen erfordern
  • Backend-Dienste mit strukturierten Datenmodellen
  • Anwendungen, die eine konsistente Datenbank-Schema-Verwaltung erfordern

Hinweise

  • Benötigt PostgreSQL-Server-Einrichtung
  • Beschränkt auf PostgreSQL (nicht andere Datenbanken)
  • Lernkurve für ORM-Konzepte
  • Abhängig von stabiler Netzwerkverbindung in Client-Anwendungen
  • Kann zusätzliche Konfiguration für komplexe Schemata erfordern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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:

Kategorien

Abhängigkeiten

Abhängigkeiten 12 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.