我在SQLAlchemy中使用ORM定义了我的数据模型。我希望我的所有表格都包含三列
created_at
last_updated
updated_by
数据模型将部署在Oracle数据库模式中。我可以做类似
的事情from sqlalchemy import Column, DateTime, String
from sqlalchemy.ext.declarative import as_declarative
@as_declarative(bind=engine)
class Base(object):
created_at = Column(DateTime, default=datetime.datetime.now(), nullable=False)
updated_at = Column(DateTime, onupdate=datetime.datetime.now(), nullable=False)
updated_by = Column(String, nullable=False)
但是则未使用数据库默认时区,用户在插入/更改数据时必须手动识别自己。数据也可以被操纵。
我更倾向于使用我知道可以在Oracle中使用的触发器但是如何在SQLAlchemy中实现它?如果可能的话,我更倾向于在SQLAlchemy中定义整个数据模型设计。