Coverage for app / models / subtask.py: 100%
15 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-26 21:50 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-26 21:50 +0000
1from sqlalchemy import Column, Integer, String, Boolean, TIMESTAMP, ForeignKey
2from sqlalchemy.sql import func
3from sqlalchemy.orm import relationship
4from app.database import Base
7class Subtask(Base):
8 __tablename__ = "subtasks"
10 id = Column(Integer, primary_key=True)
11 task_id = Column(
12 Integer, ForeignKey("tasks.id", ondelete="CASCADE"), nullable=False
13 )
15 title = Column(String(255), nullable=False)
16 order_index = Column(Integer)
17 completed = Column(Boolean, nullable=False)
19 created_at = Column(TIMESTAMP, server_default=func.now())
20 updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now())
21 completed_at = Column(TIMESTAMP, nullable=True)
23 task = relationship("Task", back_populates="subtasks")