Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.18.0

stormberry

Um ORM do PostgreSQL fortemente tipado para fornecer vinculações fáceis entre suas classes Dart e o banco de dados PostgreSQL.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
258
Curtidas
138
Pontos Pub
150

Instalar pacote

flutter pub add stormberry

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Stormberry é um ORM fortemente tipado para PostgreSQL em Dart que simplifica o mapeamento entre classes Dart e tabelas de banco de dados PostgreSQL. Ele oferece consultas seguras por tipo e gerenciamento de esquema, reduzindo código repetitivo e minimizando erros em tempo de execução. Projetado para desenvolvedores que buscam interações confiáveis e sustentáveis com bancos de dados em aplicativos Flutter e Dart, o Stormberry se integra perfeitamente ao PostgreSQL por meio de APIs claras e intuitivas. O pacote suporta múltiplas plataformas, incluindo Android, iOS, macOS, Windows e Linux, tornando-o ideal para aplicativos multiplataforma que exigem um manuseio robusto de dados no backend.

Casos de uso

  • Construindo aplicativos multiplataforma com backends do PostgreSQL
  • Operações de banco de dados seguras por tipo no Flutter
  • Automatizando migrações de esquema
  • Reduzindo o código boilerplate no código da camada de dados
  • Integrando o PostgreSQL com serviços em Dart

Principais recursos

  • Mapeamento de entidade fortemente tipada
  • Segurança em tempo de compilação para consultas
  • Suporte para acesso a banco de dados independente de plataforma
  • Ferramentas de migração embutidas
  • Sintaxe de consulta limpa e legível

Indicado para

  • Desenvolvedores Dart/Flutter usando PostgreSQL
  • Equipes priorizando segurança de tipo
  • Projetos que exigem camadas de dados escaláveis
  • Serviços de back-end com modelos de dados estruturados
  • Aplicações que precisam de gerenciamento consistente do esquema do banco de dados

Considerações

  • Requer configuração do servidor PostgreSQL
  • Limitado ao PostgreSQL (não outros bancos de dados)
  • Curva de aprendizado para conceitos de ORM
  • Dependente de conectividade de rede estável nos aplicativos cliente
  • Pode exigir configuração adicional para esquemas complexos

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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:

Categorias

Dependências

Lista de dependências 12 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.