From 246c948d76971558b53cff8544c022db5dc06891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Murta?= Date: Sat, 3 Dec 2022 12:54:22 +0000 Subject: [PATCH] All meal card to account type enum --- .../versions/d3534f493239_add_meal_card.py | 36 +++++++++++++++++++ pfbudget/db/model.py | 1 + 2 files changed, 37 insertions(+) create mode 100644 alembic/versions/d3534f493239_add_meal_card.py diff --git a/alembic/versions/d3534f493239_add_meal_card.py b/alembic/versions/d3534f493239_add_meal_card.py new file mode 100644 index 0000000..3f25956 --- /dev/null +++ b/alembic/versions/d3534f493239_add_meal_card.py @@ -0,0 +1,36 @@ +"""Add meal card + +Revision ID: d3534f493239 +Revises: 50ff1fbb8a00 +Create Date: 2022-12-03 12:18:33.519666+00:00 + +""" +from alembic import op + + +# revision identifiers, used by Alembic. +revision = "d3534f493239" +down_revision = "50ff1fbb8a00" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + op.execute("ALTER TYPE transactions.accounttype ADD VALUE 'mealcard' BEFORE 'VISA'") + + +def downgrade() -> None: + op.execute( + """CREATE TYPE transactions.accounttype_new + AS ENUM ('checking', 'savings', 'investment', 'VISA', 'MASTERCARD') + """ + ) + op.execute("UPDATE transactions.banks SET type = DEFAULT WHERE type = 'mealcard'") + op.execute( + """ALTER TABLE transactions.banks + ALTER COLUMN type TYPE transactions.accounttype_new + USING type::text::transactions.accounttype_new + """ + ) + op.execute("DROP TYPE transactions.accounttype") + op.execute("ALTER TYPE transactions.accounttype_new RENAME TO accounttype") diff --git a/pfbudget/db/model.py b/pfbudget/db/model.py index 492e877..2701bf8 100644 --- a/pfbudget/db/model.py +++ b/pfbudget/db/model.py @@ -32,6 +32,7 @@ class AccountType(enum.Enum): checking = enum.auto() savings = enum.auto() investment = enum.auto() + mealcard = enum.auto() VISA = enum.auto() MASTERCARD = enum.auto()