My envs
- Python 3.6.3
- asyncpgsa==0.18.1
- asyncpg==0.12.0
- sqlalchemy==1.1.15
My code sample
from asyncpgsa import PG
from app import app
DB_CONFIG = {
'host': '172.17.0.3',
'port': 5432,
'database': '***',
'user': 'xtpids',
'password': '***',
'min_size': 5,
'max_size': 10,
}
@app.listener('before_server_start')
async def init_db(*args, **kwargs):
# Initializing a db singleton before server start
pg = PG()
await pg.init(**DB_CONFIG)
app.db = pg
return app.db
# Create tables in some script
tables = Base.metadata.tables
for name, table in tables.items():
create_expr = CreateTable(table)
await app.db.execute(create_expr)
The exception
...
File "/home/wonder/PyEnvs/xtpids-BKbQCeJj/lib/python3.6/site-packages/asyncpgsa/pgsingleton.py", line 82, in execute
return await conn.execute(*args, **kwargs)
File "/home/wonder/PyEnvs/xtpids-BKbQCeJj/lib/python3.6/site-packages/asyncpgsa/connection.py", line 105, in execute
script, params = compile_query(script, dialect=self._dialect)
File "/home/wonder/PyEnvs/xtpids-BKbQCeJj/lib/python3.6/site-packages/asyncpgsa/connection.py", line 83, in compile_query
params = _get_keys(compiled)
File "/home/wonder/PyEnvs/xtpids-BKbQCeJj/lib/python3.6/site-packages/asyncpgsa/connection.py", line 43, in _get_keys
processors = compiled._bind_processors
AttributeError: 'PGDDLCompiler' object has no attribute '_bind_processors'
My analysis
In sqlalchemy's source, only SQLCompiler has _bind_processors property.
However create_expr.compile(dialect=asyncpgsa.connection._dialect) generates an instance of type PGDDLCompiler(DDLCompiler), of which SQLCompiler isn't a base class.
My envs
My code sample
The exception
My analysis
In sqlalchemy's source, only SQLCompiler has
_bind_processorsproperty.However
create_expr.compile(dialect=asyncpgsa.connection._dialect)generates an instance of typePGDDLCompiler(DDLCompiler), of whichSQLCompilerisn't a base class.