6584ec93814b_upgrade_master.py 2.24 KB
"""upgrade master

Revision ID: 6584ec93814b
Revises: 06337a1905a5
Create Date: 2024-11-16 14:07:54.987941

"""

# revision identifiers, used by Alembic.
revision = '6584ec93814b'
down_revision = '06337a1905a5'
branch_labels = None
depends_on = None

import sqlalchemy as sa
from alembic import op


def upgrade():
    schema = "pad"
    context = op.get_context()
    helpers = context.opts['helpers']
    helpers.fields_update("pad_pajak", "status_reklame_id", sa.Integer)
    helpers.fields_update("pad_pajak", "status_reklame_id", sa.Integer)
    helpers.fields_update("pad_pajak", "bahan_komponen", sa.String(255))
    helpers.fields_update("pad_pajak", "satuan_ukuran", sa.String(50))
    helpers.fields_update("pad_pajak", "biaya_pembuatan", sa.Float(53))
    helpers.fields_update("pad_pajak", "batas_min_masa_pajak", sa.String(50))
    helpers.fields_update("pad_spt_type", "typenm_skt", sa.String(20))

    helpers.fields_update("pad_customer_usaha", "pnama", sa.String(50))
    helpers.fields_update("pad_customer_usaha", "palamat", sa.String(255))
    helpers.fields_update("pad_customer_usaha", "pkelurahan", sa.String(25))
    helpers.fields_update("pad_customer_usaha", "pkecamatan", sa.String(25))
    helpers.fields_update("pad_customer_usaha", "pkabupaten", sa.String(25))
    helpers.fields_update("pad_customer_usaha", "ptelp", sa.String(20))
    helpers.fields_update("pad_customer_usaha", "pkodepos", sa.String(5))

    helpers.fields_update("tblrekening", "insidentil", sa.SmallInteger)

    # statement = f"alter table {schema}.pad_spt_type alter column id SET DEFAULT nextval('pad_spt_type_id_seq')"
    # op.execute(statement)
    # statement = f"SELECT setval('users_id_seq', (SELECT MAX(id) FROM users))"
    # op.execute(statement)

    seq_name = "pad_spt_type_id_seq"
    table_nm = "pad_spt_type"
    if not helpers.table_has_seq(table_nm, seq_name, schema):
        statement = f"CREATE SEQUENCE {schema}.{seq_name} START WITH 1"
        op.execute(statement)
        statement = f"SELECT setval('{schema}.{seq_name}', (SELECT MAX(id) FROM {schema}.{table_nm}))"
        op.execute(statement)
        statement = f"alter table {schema}.{table_nm} alter column id set default nextval('{schema}.{seq_name}')"
        op.execute(statement)


def downgrade():
    pass