from dotenv import load_dotenv import os from sqlalchemy_utils import database_exists, create_database, drop_database from sqlalchemy import ( create_engine, select, Table, Column, MetaData, Integer, Identity, String, ) load_dotenv() DATABASE_URL = os.getenv("DATABASE_URL") engine = create_engine( DATABASE_URL, # isolation_level="AUTOCOMMIT", ) if not database_exists(engine.url): create_database(engine.url) else: drop_database(engine.url) create_database(engine.url) print(database_exists(engine.url)) metadata = MetaData() test = Table( "test", metadata, Column("id", Integer, Identity(start=1, cycle=True), primary_key=True), Column("testString", String), ) metadata.create_all(engine) with engine.connect() as conn: # conn.execution_options(isolation_level="AUTOCOMMIT") trans = conn.begin() insert = test.insert().values(testString="ca") conn.execute(insert) rows = conn.execute(select(test)) trans.commit() for row in rows: print(row)