|
|
@ -50,7 +50,7 @@ class PhotoSet(Base): |
|
|
|
__tablename__ = 'photos' |
|
|
|
|
|
|
|
id = Column(Integer, primary_key=True) |
|
|
|
uuid = Column(Unicode, unique=True, default=lambda: str(uuid.uuid4())) |
|
|
|
uuid = Column(Unicode(length=36), unique=True, default=lambda: str(uuid.uuid4())) |
|
|
|
date = Column(DateTime) |
|
|
|
date_real = Column(DateTime) |
|
|
|
date_offset = Column(Integer, default=0) # minutes |
|
|
@ -60,9 +60,9 @@ class PhotoSet(Base): |
|
|
|
files = relationship("Photo", back_populates="set") |
|
|
|
tags = relationship("TagItem", back_populates="set") |
|
|
|
|
|
|
|
title = Column(String) |
|
|
|
description = Column(String) |
|
|
|
slug = Column(String) |
|
|
|
title = Column(String(length=128)) |
|
|
|
description = Column(String(length=1024)) |
|
|
|
slug = Column(String(length=128)) |
|
|
|
|
|
|
|
status = Column(Enum(PhotoStatus), default=PhotoStatus.private) |
|
|
|
|
|
|
@ -83,7 +83,7 @@ class Photo(Base): |
|
|
|
|
|
|
|
id = Column(Integer, primary_key=True) |
|
|
|
set_id = Column(Integer, ForeignKey("photos.id")) |
|
|
|
uuid = Column(Unicode, unique=True, default=genuuid) |
|
|
|
uuid = Column(Unicode(length=36), unique=True, default=genuuid) |
|
|
|
|
|
|
|
set = relationship("PhotoSet", back_populates="files", foreign_keys=[set_id]) |
|
|
|
|
|
|
@ -92,8 +92,8 @@ class Photo(Base): |
|
|
|
height = Column(Integer) |
|
|
|
orientation = Column(Integer, default=0) |
|
|
|
hash = Column(String(length=64), unique=True) |
|
|
|
path = Column(Unicode) |
|
|
|
format = Column(String(length=64)) # TODO how long can a mime string be |
|
|
|
path = Column(Unicode(length=64)) |
|
|
|
format = Column(String(length=32)) # TODO how long can a mime string be |
|
|
|
fname = Column(String(length=64)) # seems generous enough |
|
|
|
|
|
|
|
def to_json(self): |
|
|
@ -107,18 +107,18 @@ class Tag(Base): |
|
|
|
__tablename__ = 'tags' |
|
|
|
|
|
|
|
id = Column(Integer, primary_key=True) |
|
|
|
uuid = Column(Unicode, unique=True, default=lambda: str(uuid.uuid4())) |
|
|
|
uuid = Column(Unicode(length=36), unique=True, default=lambda: str(uuid.uuid4())) |
|
|
|
created = Column(DateTime, default=lambda: datetime.now()) |
|
|
|
modified = Column(DateTime, default=lambda: datetime.now()) |
|
|
|
is_album = Column(Boolean, default=False) |
|
|
|
# slug-like short name such as "iomtrip" |
|
|
|
name = Column(String, unique=True) |
|
|
|
name = Column(String(length=32), unique=True) |
|
|
|
# longer human-format title like "Isle of Man trip" |
|
|
|
title = Column(String) |
|
|
|
title = Column(String(length=32)) |
|
|
|
# url slug like "isle-of-man-trip" |
|
|
|
slug = Column(String, unique=True) |
|
|
|
slug = Column(String(length=32), unique=True) |
|
|
|
# fulltext description |
|
|
|
description = Column(String) |
|
|
|
description = Column(String(length=256)) |
|
|
|
|
|
|
|
entries = relationship("TagItem", back_populates="tag") |
|
|
|
|
|
|
|