summaryrefslogtreecommitdiff
path: root/server/szurubooru/model/snapshot.py
blob: d4e3fc8c7f392fc906edecf59073ae76e2b6bbe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sqlalchemy as sa

from szurubooru.model.base import Base


class Snapshot(Base):
    __tablename__ = "snapshot"

    OPERATION_CREATED = "created"
    OPERATION_MODIFIED = "modified"
    OPERATION_DELETED = "deleted"
    OPERATION_MERGED = "merged"

    snapshot_id = sa.Column("id", sa.Integer, primary_key=True)
    creation_time = sa.Column("creation_time", sa.DateTime, nullable=False)
    operation = sa.Column("operation", sa.Unicode(16), nullable=False)
    resource_type = sa.Column(
        "resource_type", sa.Unicode(32), nullable=False, index=True
    )
    resource_pkey = sa.Column(
        "resource_pkey", sa.Integer, nullable=False, index=True
    )
    resource_name = sa.Column("resource_name", sa.Unicode(128), nullable=False)
    user_id = sa.Column(
        "user_id",
        sa.Integer,
        sa.ForeignKey("user.id", ondelete="set null"),
        nullable=True,
    )
    data = sa.Column("data", sa.PickleType)

    user = sa.orm.relationship("User")