19 lines
745 B
Python
19 lines
745 B
Python
|
|
from datetime import datetime
|
||
|
|
from sqlalchemy import String, DateTime
|
||
|
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||
|
|
|
||
|
|
from app.database import Base
|
||
|
|
|
||
|
|
|
||
|
|
class Vehicle(Base):
|
||
|
|
__tablename__ = "vehicles"
|
||
|
|
|
||
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
||
|
|
name: Mapped[str] = mapped_column(String(100), nullable=False)
|
||
|
|
type: Mapped[str] = mapped_column(String(50), default="car") # car, bus, truck
|
||
|
|
created_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.utcnow)
|
||
|
|
|
||
|
|
# Relationships
|
||
|
|
positions: Mapped[list["Position"]] = relationship(back_populates="vehicle", cascade="all, delete-orphan")
|
||
|
|
events: Mapped[list["Event"]] = relationship(back_populates="vehicle", cascade="all, delete-orphan")
|