21 lines
803 B
Python
21 lines
803 B
Python
from sqlalchemy import Column, Integer, String, Text, TIMESTAMP, func
|
|
from geoalchemy2 import Geometry
|
|
from app.models.base import Base
|
|
|
|
class Peak(Base):
|
|
__tablename__ = "peaks"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
name_en = Column(String(100), unique=True, nullable=False)
|
|
name_cn = Column(String(100))
|
|
elevation_m = Column(Integer, nullable=False)
|
|
prominence_m = Column(Integer)
|
|
# PostGIS Point: SRID 4326 (WGS84)
|
|
location = Column(Geometry("POINT", srid=4326))
|
|
first_ascent_year = Column(Integer)
|
|
description = Column(Text)
|
|
thumbnail_url = Column(String(255))
|
|
|
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|