postgres_dart 1.1.3 copy "postgres_dart: ^1.1.3" to clipboard
postgres_dart: ^1.1.3 copied to clipboard

Wraps postgres package with dart methods for performing sql queries.

example/postgres_dart_example.dart

import 'package:postgres_dart/postgres_dart.dart';

Future<void> main() async {
  var db =
      PostgresDb.fromUrl('postgresql://username:password@hosturl/databaseName');
  await db.open();

  // insert
  await db
      .table('tableName')
      .insert(columns: ['name', 'age'], values: ['Name Name', 30]);

  // update
  await db.table('tableName').update(
      update: {"age": 40},
      where: Where('name', WhereOperator.isEqual, 'Name Name'));
  // update all
  await db.table('tableName').update(update: {"age": 40}, where: null);

  // delete
  await db
      .table('tableName')
      .delete(Where('name', WhereOperator.isEqual, 'Name Name'));
  await db.table('tableName').deleteAll();

  // fetch
  await db.table('tableName').select(
      columns: [
        Column('id'),
        Column('name', columnAs: 'userName'),
        Column('age')
      ],
      where: Where('name', WhereOperator.isEqual, 'Name Name'),
      orderBy: OrderBy('name', ascending: true));

  // max, min,
  await db.table('tableName').max([Max('age')]);
  await db.table('tableName').min([Min('age', label: 'minAge')]);

  // count
  await db.table('tableName').count([Count(columnName: '*')]);

  // sum, avg
  await db.table('tableName').sum(
      [Sum(columnName: 'age', label: 'totalAge'), Sum(columnName: 'amount')]);
  await db.table('tableName').avg(
      [Avg(columnName: 'age', label: 'averageAge'), Avg(columnName: 'amount')]);

  // aggregate
  await db.table('tableName').aggregate([
    Count(columnName: '*'),
    Sum(columnName: 'amount', label: 'totalAmount'),
    Avg(columnName: 'age', label: 'averageAge'),
  ]);

  // group
  await db.table('tableName').group(groupBy: [
    'gender'
  ], columns: [
    Column('gender')
  ], aggregates: [
    Count(columnName: '*'),
    Sum(columnName: 'amount', label: 'totalAmount'),
    Avg(columnName: 'age', label: 'averageAge'),
  ]);

  // join
  await db.table('tableName').join(tableAs: 't1', columns: [
    Column('t1.id', columnAs: 'id'),
    Column('t1.name', columnAs: 'name'),
    Column('t3.age', columnAs: 'age'),
  ], joins: [
    Join(
        joinType: JoinType.inner,
        tableName: 'table2',
        tableAs: 't2',
        onorUsing: JoinOn(
            leftColumnName: 't1.id',
            rightColumnName: 't2.userid',
            operator: WhereOperator.isEqual)),
    Join(
        joinType: JoinType.inner,
        tableName: 'table3',
        tableAs: 't3',
        onorUsing: JoinUsing(columnName: 'userid')),
  ]);
}
2
likes
130
pub points
50%
popularity

Publisher

verified publisherphan-tec.com

Wraps postgres package with dart methods for performing sql queries.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

postgres

More

Packages that depend on postgres_dart