CHM_attendance/app/utils/database.py
superlishunqin e7fa4bc030 first commit
2025-06-11 19:56:34 +08:00

32 lines
1007 B
Python

from app.models import db
from sqlalchemy.exc import SQLAlchemyError
from flask import current_app
def safe_commit():
"""安全提交数据库更改"""
try:
db.session.commit()
return True, None
except SQLAlchemyError as e:
db.session.rollback()
current_app.logger.error(f"Database commit error: {e}")
return False, str(e)
def safe_add_and_commit(obj):
"""安全添加并提交对象"""
try:
db.session.add(obj)
db.session.commit()
return True, None
except SQLAlchemyError as e:
db.session.rollback()
current_app.logger.error(f"Database add error: {e}")
return False, str(e)
def safe_delete_and_commit(obj):
"""安全删除并提交对象"""
try:
db.session.delete(obj)
db.session.commit()
return True, None
except SQLAlchemyError as e:
db.session.rollback()
current_app.logger.error(f"Database delete error: {e}")
return False, str(e)