http://blog.csdn.net/u013600225/article/details/53913550
这个链接举了一个触发器的例子,这个例子在SQLiteStudio上面是可以正常运行的(在Navicat下执行失败),然后就想试验一下python的sqlalchemy能不能正常执行外部创建的这些触发器,然后就写了下面这个例子:
# -*- coding: utf-8 -*-
# 前面的是几个通用函数.
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
BaseMeta = declarative_base() # BaseMeta.metadata.tables.keys() 含有"收集到的"所有的表
def initialize_session(s):
"""initialize_session和terminate_session要配对使用"""
if isinstance(s, sqlalchemy.orm.session.sessionmaker):
session = s()
needClose = True
elif isinstance(s, sqlalchemy.orm.session.Session):
session = s
needClose = False
else:
raise ValueError("未知的s={}".format(type(s)))
return session, needClose
def terminate_session(session, needClose):
"""initialize_session和terminate