fix/uso-de-catalogo-sectores-empresa

This commit is contained in:
2026-06-02 07:59:12 -06:00
parent 2e7007a7c4
commit 08f99f102e
3 changed files with 88 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
"""company prosec boolean to integer
Revision ID: 506969b0a256
Revises: a7b8c9d0e1f2
Create Date: 2026-06-02 00:00:00.000000
"""
from typing import Sequence, Union
from alembic import op
revision: str = "506969b0a256"
down_revision: Union[str, None] = "a7b8c9d0e1f2"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# Convierte prosec de boolean a integer para almacenar el ID del sector PROSEC.
# El default 'false' debe eliminarse antes de cambiar el tipo.
op.execute("ALTER TABLE a76.company ALTER COLUMN prosec DROP DEFAULT")
op.execute("ALTER TABLE a76.company ALTER COLUMN prosec DROP NOT NULL")
op.execute(
"ALTER TABLE a76.company ALTER COLUMN prosec TYPE integer USING prosec::int"
)
def downgrade() -> None:
op.execute(
"""
ALTER TABLE a76.company
ALTER COLUMN prosec TYPE boolean
USING CASE WHEN prosec IS NULL OR prosec = 0 THEN false ELSE true END
"""
)
op.execute("ALTER TABLE a76.company ALTER COLUMN prosec SET DEFAULT false")
op.execute("ALTER TABLE a76.company ALTER COLUMN prosec SET NOT NULL")