From 694207a86d8f66fbbda03e21264ff90202fe1c59 Mon Sep 17 00:00:00 2001 From: Raphael Deem Date: Tue, 7 Mar 2017 19:31:44 -0800 Subject: [PATCH] update asyncpg example --- examples/sanic_asyncpg_example.py | 37 +++++++++++++------------------ 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/examples/sanic_asyncpg_example.py b/examples/sanic_asyncpg_example.py index 633fc50a..a35ff01a 100644 --- a/examples/sanic_asyncpg_example.py +++ b/examples/sanic_asyncpg_example.py @@ -5,14 +5,14 @@ import os import asyncio import uvloop -from asyncpg import create_pool +from asyncpg import connect from sanic import Sanic from sanic.response import json DB_CONFIG = { 'host': '', - 'user': '', + 'user': '', 'password': '', 'port': '', 'database': '' @@ -22,8 +22,7 @@ def jsonify(records): """ Parse asyncpg record response into JSON format """ - return [{key: value for key, value in - zip(r.keys(), r.values())} for r in records] + return [dict(r.items()) for r in records] app = Sanic(__name__) @@ -32,27 +31,23 @@ async def create_db(app, loop): """ Create some table and add some data """ - async with create_pool(**DB_CONFIG) as pool: - async with pool.acquire() as connection: - async with connection.transaction(): - await connection.execute('DROP TABLE IF EXISTS sanic_post') - await connection.execute("""CREATE TABLE sanic_post ( - id serial primary key, - content varchar(50), - post_date timestamp - );""") - for i in range(0, 100): - await connection.execute(f"""INSERT INTO sanic_post - (id, content, post_date) VALUES ({i}, {i}, now())""") + conn = await connect(**DB_CONFIG) + await conn.execute('DROP TABLE IF EXISTS sanic_post') + await conn.execute("""CREATE TABLE sanic_post ( + id serial primary key, + content varchar(50), + post_date timestamp);""" + ) + for i in range(0, 100): + await conn.execute(f"""INSERT INTO sanic_post + (id, content, post_date) VALUES ({i}, {i}, now())""") @app.route("/") async def handler(request): - async with create_pool(**DB_CONFIG) as pool: - async with pool.acquire() as connection: - async with connection.transaction(): - results = await connection.fetch('SELECT * FROM sanic_post') - return json({'posts': jsonify(results)}) + conn = await connect(**DB_CONFIG) + results = await conn.fetch('SELECT * FROM sanic_post') + return json({'posts': jsonify(results)}) if __name__ == '__main__':