diff --git a/alembic/versions/6a76f959a9df_add_markdown_de_column_to_exercise_table.py b/alembic/versions/6a76f959a9df_add_markdown_de_column_to_exercise_table.py new file mode 100644 index 0000000..974bcb2 --- /dev/null +++ b/alembic/versions/6a76f959a9df_add_markdown_de_column_to_exercise_table.py @@ -0,0 +1,33 @@ +"""add markdown_de column to exercise table + +Revision ID: 6a76f959a9df +Revises: 2a1b6cce2dae +Create Date: 2026-02-07 16:12:45.015614 + +""" +from typing import Sequence, Union + +from alembic import op + +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = '6a76f959a9df' +down_revision: Union[str, Sequence[str], None] = '2a1b6cce2dae' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('exercise', sa.Column('markdown_de', sa.TEXT(), nullable=False)) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('exercise', 'markdown_de') + # ### end Alembic commands ### diff --git a/app/api/schema/exercise.py b/app/api/schema/exercise.py index 2725e9c..f595f46 100644 --- a/app/api/schema/exercise.py +++ b/app/api/schema/exercise.py @@ -7,6 +7,7 @@ class ExerciseCreate(BaseModel): title: str markdown: str + markdown_de: str = "" skip_delay: int next_exercise_id: Optional[int] diff --git a/app/db/model/exercise.py b/app/db/model/exercise.py index f3ad7af..3260c9c 100644 --- a/app/db/model/exercise.py +++ b/app/db/model/exercise.py @@ -9,6 +9,7 @@ class Exercise(Base): id = sa.Column(sa.INTEGER, default=None, primary_key=True) title = sa.Column(sa.TEXT, nullable=False) markdown = sa.Column(sa.TEXT, nullable=False) + markdown_de = sa.Column(sa.TEXT, nullable=False, default="") next_exercise_id = sa.Column(sa.Integer, sa.ForeignKey("exercise.id"), nullable=True) skip_delay = sa.Column(sa.Integer, nullable=False) @@ -17,6 +18,7 @@ def to_dict(self): "id": self.id, "title": self.title, "markdown": self.markdown, + "markdown_de": self.markdown_de, "next_exercise_id": self.next_exercise_id, "skip_delay": self.skip_delay, } diff --git a/tests/util/demo_data.py b/tests/util/demo_data.py index 483477f..1b4f3e2 100644 --- a/tests/util/demo_data.py +++ b/tests/util/demo_data.py @@ -62,6 +62,7 @@ "id": 1, "title": "Demo Exercise 1", "markdown": "", + "markdown_de": "", "skip_delay": 5, "next_exercise_id": 2, }, @@ -69,6 +70,7 @@ "id": 2, "title": "Demo exercise 2", "markdown": "", + "markdown_de": "", "skip_delay": 5, "next_exercise_id": 3, }, @@ -76,6 +78,7 @@ "id": 3, "title": "Demo exercise 3", "markdown": "", + "markdown_de": "", "skip_delay": 5, "next_exercise_id": None, }