【问题标题】:Change tracking on postgresql database using SQLAlchemy使用 SQLAlchemy 对 postgresql 数据库进行更改跟踪
【发布时间】:2018-12-30 11:32:43
【问题描述】:

对于 Web 应用程序(使用 flask-appbuilder 构建),我想在 PostgreSQL 数据库上使用 SQLAlchemy 声明性语法时跟踪数据库上的所有更改。 flask-appbuilder "AuditMixin" 已经跟踪“最后更改日期”和“最后更改用户”以跟踪最后更改行的人。但我实际上想保留每一行的旧版本和新版本以进行问责。我不介意向flask 或flask-appbuilder 或其他东西贡献一些东西,因为我认为该框架没有开箱即用的东西。所以我想知道在使用我的大脑自己想出一些东西之前,SQLAlchemy/PostgreSQL/数据库是否有任何现有的解决方案/范式/等(最好按照这个顺序)(无论更聪明的人已经做了什么都可能比任何事情都好我想出了)。

【问题讨论】:

    标签: python postgresql flask sqlalchemy


    【解决方案1】:

    除了跟踪创建/修改日期/用户你已经在做什么,使用SQLAlchemy-Continuum

    Continuum 为获取给定版本对象的变更集提供了简单的方法。每个版本都包含一个变更集属性,该属性包含该版本中已更改字段的字典。

    https://sqlalchemy-continuum.readthedocs.io/en/latest/version_objects.html#changeset

    【讨论】:

    • 这就是我要说的。 :) 存在的东西,我不知道。我将详细检查它以了解它如何与 flask-appbuilder 结合并报告我的发现。但它看起来确实很不错。
    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多