Diagram to handle the record component
id = sa.Column(
BigInteger,
autoincrement=True,
nullable=False,
primary_key=True
)
status = sa.Column(
sa.Enum("A", "I", name="record_status", native_enum=False, length=1, inherit_schema=True),
nullable=False,
server_default="A",
doc="Status of record"
)
# Snapshot
created_at = sa.Column(DateTime, nullable=False, default=sa.func.current_timestamp(), server_default=sa.func.current_timestamp())
updated_at = sa.Column(DateTime, onupdate=sa.func.current_timestamp(), nullable=True)
deleted_at = sa.Column(DateTime, nullable=True)
verified_at = sa.Column(DateTime, nullable=True)
# User
created_by = sa.Column(Text, nullable=True)
updated_by = sa.Column(Text, nullable=True)
deleted_by = sa.Column(Text, nullable=True)
verified_by = sa.Column(Text, nullable=True)