Rather than looking at the string representation, you could inspect
the "orig" attribute of the SQLAlchemy exception:

https://docs.sqlalchemy.org/en/13/core/exceptions.html#sqlalchemy.exc.DBAPIError

Simon

On Wed, Dec 4, 2019 at 5:52 PM Zsolt Ero <[email protected]> wrote:
>
> My best idea so far is
>
> if 'psycopg2.errors.UndefinedTable' in str(err)
>
> Just to note, I'm looking especially for psycopg2.errors.UndefinedTable, I'm 
> not using any other DB.
>
>
> On Wednesday, 4 December 2019 18:37:02 UTC+1, Zsolt Ero wrote:
>>
>> Hi,
>>
>> I'm looking for a way to check for a table's existance. I know I can do it 
>> in 2 queries, once for checking the table and one for running the query, but 
>> I'd prefer to do it in one query with a try-except block.
>>
>> What is the best way to do this? I'm using psycopg2 and I see that the 
>> raised error is "psycopg2.errors.UndefinedTable". However I cannot catch for 
>> this error, I can only catch for "sqlalchemy.exc.ProgrammingError".
>>
>> How can I catch specifically for psycopg2.errors.UndefinedTable inside 
>> sqlalchemy.exc.ProgrammingError?
>>
>> Or is there a better way to check for a table's existance? Since it'll be in 
>> an API I'd prefer to keep the query count low.
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> description.
> ---
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/3d103596-199a-43bc-aa96-da30e892a33d%40googlegroups.com.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/CAFHwexd%2BkJX2G%2BGMnbt1Z1FUS2_S5hnwKUKWMZXc%2B3%2BGFdDy5A%40mail.gmail.com.

Reply via email to