api-mood/test.py

51 lines
1.0 KiB
Python

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)