创建一个test3表

SQLAlchemy PostgreSQL demo

 

 

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配置不同,处理逻辑不一样

相关文章:

  • 2021-10-09
  • 2021-06-05
  • 2022-01-03
猜你喜欢
  • 2022-12-23
  • 2021-11-05
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
相关资源
相似解决方案