我必须实现以下需求:存储“页面”,它是“修订”。像:SQLAlchemy数据库设计修订
class Page(Base):
__tablename__ = 'Page'
page_id = Column(Integer, primary_key=True)
class Revision(Base):
__tablename__ = 'Revision'
revision_id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(32))
content = Column(String(32))
page_id = Column(Integer, ForeignKey('Page.page_id'))
page = relationship('Page', uselist=False, backref='revisions')
我希望能够得到页面,它的内容透明的喜欢:
page = session.query(Page).filter(Page.page_id == 42).one()
page.name
page.content
我看SQLAlchemy inheritance doc,但我不知道如果我不能做到这一点与继承。
是否有可能做这样的事情?怎么样 ?
我会考虑“类型2数据仓库”。基本保持有效的开始日期和有效的结束日期,最新的有效结束日期为空。 – reptilicus