On Thu, Nov 24, 2022, at 3:24 PM, zsol...@gmail.com wrote:
> Hi,
> 
> I'm trying to run low-level commands like DROP DATABASE / CREATE DATABASE, 
> with psycopg2.
> 
> In 1.3 I used the following:
> 
> with 
> pg_engine.connect().execution_options(isolation_level="AUTOCOMMIT",autocommit=True)
>  as conn:
>     conn.execute(command)
> 
> Now in 2.0 I run into many errors. I've read the migration guide and for me 
> this looks like the best:
> 
> with pg_engine.connect().execution_options(isolation_level="AUTOCOMMIT") as 
> conn:
>    conn.exec_driver_sql(command)

correct

> 
> Is this the right one? I'm confused as isolation_level is not written in the 
> migration guide, I just had it from 1.3. 

the "isolation_level" parameter wasnt changed in 2.0.  The "autocommit" 
execution option was removed, though: 
https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#library-level-but-not-driver-level-autocommit-removed-from-both-core-and-orm
 


> But without isolation_level it doesn't work.
> 
> Also, what is the difference between exec_driver_sql and execute + text()?

the text() construct uses a dialect-agnostic bound parameter and escaping 
format, and only uses named parameters. It also has other features that allow 
for text() constructs to be embedded within larger select() constructs.   
exec_driver_sql is a direct-to-cursor method that allows for both named and 
positional parameters as handled by the DBAPI.

overall there's no need to have lots of errors if you migrate first to 1.4 and 
then use the 1.4/2.0 migration process at 
https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#.  the warnings 
will tell you most of what you need to change.


> 
> Zsolt
> 
> 
> 
> 
> 
> 
> 
> -- 
> 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 sqlalchemy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/d0f06e70-f341-475e-8176-8bf0ac46ff94n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy/d0f06e70-f341-475e-8176-8bf0ac46ff94n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
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 sqlalchemy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/b4e568ca-9b40-4438-9a60-b7cad1e42c7f%40app.fastmail.com.

Reply via email to