Files
gw/backend/alembic/versions/f25d0f745a17_add_experiment_cookie_name.py
T

40 lines
1.1 KiB
Python
Raw Normal View History

2026-04-18 07:23:55 +12:00
"""add experiment cookie name
Revision ID: f25d0f745a17
Revises: bd9f6a8b7c1d
Create Date: 2026-03-31 00:15:00.000000
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
revision: str = 'f25d0f745a17'
down_revision: Union[str, None] = 'bd9f6a8b7c1d'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.add_column('experiments', sa.Column('cookie_name', sa.String(length=96), nullable=True))
op.execute(
"""
UPDATE experiments
SET cookie_name =
CASE experiment_key
WHEN 'homepage_hero_test' THEN 'exp_homepage_hero'
WHEN 'pricing_cta_test' THEN 'exp_pricing_cta'
ELSE 'exp_' || experiment_key
END
"""
)
op.alter_column('experiments', 'cookie_name', nullable=False)
op.create_unique_constraint('uq_experiments_cookie_name', 'experiments', ['cookie_name'])
def downgrade() -> None:
op.drop_constraint('uq_experiments_cookie_name', 'experiments', type_='unique')
op.drop_column('experiments', 'cookie_name')