PostgreSQL en DART


dart.gif

Hace un tiempo publicaba un par de posts relacionados con los drivers de base de datos disponibles en DART y más concretamente como trabajar con MongoDB y MySQL en DART.

En esta ocasión voy a hablar del fantástico trabajo realizado por Greg Lowe con el paquete postgresql que nos permitirá trabajar con bases de datos PostgreSQL en DART.

Este driver de PostgreSql para DART actualmente se encuentra en fase de desarrollo muy temprana (alpha), pero ya está dispoible y podemos comenzar a realizar nuestras primeras prubeas.

Actualmente el paquete no está disponible en PUB, el autor está esperando recibir más usuarios y disponer de un paquete más sólido, si quieres empezar a trabajar con el puedes dirigirte a esta dirección:

https://github.com/xxgreg/postgresql

Cuando el paquete se considere maduro como para entrar en PUB recibirá este nombre: postgresql.

Veamos uno sencillos ejemplos de conexión, queries y ejecución.

Conexión a la base de datos

connect('usuario','database', 'clave', host: 'localhost', port: 5432).then((conn) {
 // ...
});

Ejecutando queries

conn.query('select nombre from empleados').toList().then((rows) {
 for (var row in rows) {
   print(row.nombre); // Referenciamos las columnas por nombre.
   print(row[0]); // Referenciamos las columnas por índice.
 }
});

Ejecutando acciones sobre la base de datos

conn.execute("update empleados set nombre = 'antonio'").then((result) {
 print(result.rowsAffected);
});

Cerrar conexión

conn.close();

NOTA: Debes recordar realizar la llamada a Conexión close() para cerrar la conexión con la base de datos, ya que no se cierra automáticamente.

Encolado de queries

Las queries contra la base de datos se pueden encolcar y ejecutar por orden de encolado.

conn.execute("update empleados set nombre = 'antonio'");
 conn.query("select nombre from empleados").toList().then((rows) {
 rows.forEach((row) => print(row.nombre);
});

Query streamming

Cuando ejecutas una query contra la base de datos los resultados se devuelven en modo streamming, por lo que puedes utilizar cada fila según las vayas recibiendo.

También puedes esperar a que la base de datos te devuelva todas las filas afectadas por la query llamando al método Stream.toList().

Más info: https://github.com/xxgreg/postgresql

Artículo escrito por Moisés Belchín

About these ads

2 Comments on “PostgreSQL en DART”

  1. Greg Lowe says:

    Gracias por su articulo amable.

    Lo library tambien lo puedes aplicar en el Heroku webhosting platform. Se puede utilizar el Heroku gratuito y se puede empezar desarrolar los web applications en Dart y PostgreSQL.

    Mira mi ejemplo del web application aqui:

    https://github.com/xxgreg/pgtestapp

    Puedes utilizar la version que habia modificado de dart heroku buildpack, que tenia que modificar para asegurar supportando secure postgres connections, cuales hay que aplicar con heroku.

    https://github.com/xxgreg/heroku-buildpack-dart

  2. Hi Greg,

    Thanks for the comments and for the new links. They’re very interesting, specially the postgreSql sample app for complete this article.

    Thanks again and regards.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 2,091 other followers