feat: add started_at/completed_at columns to notes
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
"""Add started_at and completed_at to notes."""
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
revision = "0032"
|
||||||
|
down_revision = "0031"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
op.add_column("notes", sa.Column("started_at", sa.DateTime(timezone=True), nullable=True))
|
||||||
|
op.add_column("notes", sa.Column("completed_at", sa.DateTime(timezone=True), nullable=True))
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
op.drop_column("notes", "completed_at")
|
||||||
|
op.drop_column("notes", "started_at")
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import enum
|
import enum
|
||||||
from datetime import date
|
from datetime import date, datetime
|
||||||
|
|
||||||
from sqlalchemy import Date, ForeignKey, Index, Integer, Text
|
from sqlalchemy import Date, DateTime, ForeignKey, Index, Integer, Text
|
||||||
from sqlalchemy.dialects.postgresql import ARRAY
|
from sqlalchemy.dialects.postgresql import ARRAY
|
||||||
from sqlalchemy.orm import Mapped, mapped_column
|
from sqlalchemy.orm import Mapped, mapped_column
|
||||||
|
|
||||||
@@ -45,6 +45,8 @@ class Note(Base, TimestampMixin):
|
|||||||
status: Mapped[str | None] = mapped_column(Text, nullable=True)
|
status: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||||
priority: Mapped[str | None] = mapped_column(Text, nullable=True)
|
priority: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||||
due_date: Mapped[date | None] = mapped_column(Date, nullable=True)
|
due_date: Mapped[date | None] = mapped_column(Date, nullable=True)
|
||||||
|
started_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||||
|
completed_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
Index("ix_notes_tags", "tags", postgresql_using="gin"),
|
Index("ix_notes_tags", "tags", postgresql_using="gin"),
|
||||||
@@ -71,6 +73,8 @@ class Note(Base, TimestampMixin):
|
|||||||
"status": self.status,
|
"status": self.status,
|
||||||
"priority": self.priority,
|
"priority": self.priority,
|
||||||
"due_date": self.due_date.isoformat() if self.due_date else None,
|
"due_date": self.due_date.isoformat() if self.due_date else None,
|
||||||
|
"started_at": self.started_at.isoformat() if self.started_at else None,
|
||||||
|
"completed_at": self.completed_at.isoformat() if self.completed_at else None,
|
||||||
"is_task": self.is_task,
|
"is_task": self.is_task,
|
||||||
"created_at": self.created_at.isoformat(),
|
"created_at": self.created_at.isoformat(),
|
||||||
"updated_at": self.updated_at.isoformat(),
|
"updated_at": self.updated_at.isoformat(),
|
||||||
|
|||||||
Reference in New Issue
Block a user