SQLAlchemy PostgreSQL demo

创建一个test3表

 

 

import os

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from Test3Model import Test3

engine = create_engine('postgresql+psycopg2://postgres:luckygxf@localhost')
db = scoped_session(sessionmaker(bind=engine))


def get_engine():
    return create_engine('postgresql+psycopg2://postgres:luckygxf@localhost')


def get_session():
    engine = get_engine()
    db_session = sessionmaker(bind=engine, autocommit=True)
    return db_session()


def add_test3(test3):
    session = get_session()
    session.add(test3)
    session.flush()


test1 = Test3(name='guan4')
add_test3(test1)

 

autocommit: True表示不自动开启事务,使用session.flush会把sql提交给数据库服务器执行sql

autocommit: False表示自动开启事务,开始的时候会开启事务,执行完后需要手动提交事务

session.add(user)不会把sql提交给数据库服务器

mysql和postgresql客户端执行根据autocommit配置不同,处理逻辑不一样

posted on 2021-09-07 20:08  luckygxf  阅读(584)  评论(0编辑  收藏  举报

导航