From 98f4464eafe4e55cf037e35c25fb969c40318fef Mon Sep 17 00:00:00 2001 From: Wolfgang Schnerring Date: Mon, 20 Jan 2025 10:49:31 +0100 Subject: [PATCH] WCM-614: Add column for video_type so we can query it in auto areas --- ...39e72a15c2c_create_index_for_video_type.py | 40 +++++++++++++++++++ ...1106-f7f17b16292c_add_video_type_column.py | 27 +++++++++++++ core/src/zeit/connector/models.py | 4 ++ 3 files changed, 71 insertions(+) create mode 100644 core/src/zeit/connector/migrations/postdeploy/20250120_1109-239e72a15c2c_create_index_for_video_type.py create mode 100644 core/src/zeit/connector/migrations/predeploy/20250120_1106-f7f17b16292c_add_video_type_column.py diff --git a/core/src/zeit/connector/migrations/postdeploy/20250120_1109-239e72a15c2c_create_index_for_video_type.py b/core/src/zeit/connector/migrations/postdeploy/20250120_1109-239e72a15c2c_create_index_for_video_type.py new file mode 100644 index 0000000000..7314ea83c8 --- /dev/null +++ b/core/src/zeit/connector/migrations/postdeploy/20250120_1109-239e72a15c2c_create_index_for_video_type.py @@ -0,0 +1,40 @@ +"""create index for video_type + +Revision ID: 239e72a15c2c +Revises: b6c4f9badee3 +Create Date: 2025-01-20 11:09:46.675290 + +""" + +from typing import Sequence, Union + +from alembic import op + + +# revision identifiers, used by Alembic. +revision: str = '239e72a15c2c' +down_revision: Union[str, None] = 'b6c4f9badee3' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + with op.get_context().autocommit_block(): + op.create_index( + op.f('ix_properties_video_type'), + 'properties', + ['video_type'], + postgresql_concurrently=True, + if_not_exists=True, + ) + + +def downgrade() -> None: + with op.get_context().autocommit_block(): + op.drop_index( + op.f('ix_properties_video_type'), + 'properties', + ['video_type'], + postgresql_concurrently=True, + if_exists=True, + ) diff --git a/core/src/zeit/connector/migrations/predeploy/20250120_1106-f7f17b16292c_add_video_type_column.py b/core/src/zeit/connector/migrations/predeploy/20250120_1106-f7f17b16292c_add_video_type_column.py new file mode 100644 index 0000000000..951d5b84f1 --- /dev/null +++ b/core/src/zeit/connector/migrations/predeploy/20250120_1106-f7f17b16292c_add_video_type_column.py @@ -0,0 +1,27 @@ +"""add video_type column + +Revision ID: f7f17b16292c +Revises: 0d681d9ffda0 +Create Date: 2025-01-20 11:06:16.852051 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = 'f7f17b16292c' +down_revision: Union[str, None] = '0d681d9ffda0' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column('properties', sa.Column('video_type', sa.Unicode(), nullable=True)) + + +def downgrade() -> None: + op.drop_column('properties', 'video_type') diff --git a/core/src/zeit/connector/models.py b/core/src/zeit/connector/models.py index cb34936a2b..980bc19455 100644 --- a/core/src/zeit/connector/models.py +++ b/core/src/zeit/connector/models.py @@ -101,6 +101,9 @@ class ContentTypes: gallery_type = mapped_column( Unicode, info={'namespace': 'zeit.content.gallery', 'name': 'type', 'migration': 'wcm_471'} ) + video_type = mapped_column( + Unicode, info={'namespace': 'video', 'name': 'type', 'migration': 'always'} + ) class Timestamps: @@ -197,6 +200,7 @@ def __table_args__(cls): 'ressort', 'series', 'sub_ressort', + 'video_type', 'volume_number', 'volume_year', ]