41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
"""add_issue_status
|
|
|
|
Revision ID: 9158111a7e00
|
|
Revises: 0aec0a6e294a
|
|
Create Date: 2026-03-19 19:00:25.334583
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
revision = '9158111a7e00'
|
|
down_revision = '0aec0a6e294a'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# Verificar si el tipo ya existe antes de crearlo
|
|
op.execute("""
|
|
DO $$ BEGIN
|
|
CREATE TYPE issue_status_enum AS ENUM ('OPEN', 'IN_PROGRESS', 'RESOLVED', 'CLOSED');
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|
|
""")
|
|
|
|
op.add_column('ticket_issues', sa.Column(
|
|
'status',
|
|
postgresql.ENUM('OPEN', 'IN_PROGRESS', 'RESOLVED', 'CLOSED',
|
|
name='issue_status_enum', create_type=False),
|
|
nullable=True
|
|
))
|
|
|
|
op.execute("UPDATE ticket_issues SET status = 'OPEN' WHERE status IS NULL")
|
|
|
|
op.alter_column('ticket_issues', 'status', nullable=False)
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column('ticket_issues', 'status')
|
|
op.execute("DROP TYPE IF EXISTS issue_status_enum") |