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)