I'm using async_engine. When I try to execute anything:
async with self.async_engine.connect() as con:query = "SELECT id, name FROM item LIMIT 50;"result = await con.execute(f"{query}")
I'm getting:
Exception has occurred: ObjectNotExecutableError
Not an executable object: 'SELECT id, name FROM item LIMIT 50;'
This question was asked before by user @stilmaniac but it is now deleted from SO.
I found it in Google Search cache, here is copy.
I have the same issue so I'm reasking it, but the original version is below:
I'm trying to create tables from metadata as follows:
Base = declarative_base()properties = Table('properties', Base.metadata,# ...Column('geolocation', Geography(geometry_type='POINT', srid=4326)),# ...
)engine = create_async_engine("postgresql+asyncpg://user:password@postgres/")
async with engine.begin() as conn:await conn.run_sync(Base.metadata.create_all)
Gives me the following error:
sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'CREATE INDEX "idx_properties_geolocation" ON "properties" USING GIST ("geolocation")'
Considering this doc
Versions:
- OS: macOS 11.4 ARM
- SQLAlchemy: 1.4.22
- Python: 3.6