From ace51951644f6e7802539806ed9088194f34a851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Murta?= Date: Mon, 23 Jan 2023 00:43:05 +0000 Subject: [PATCH] Move selector table back to transactions schema Change table name originals to transactions and tags to tagged. --- ...556ab17c56_selector_back_to_transaction.py | 88 +++++++++++++++++++ pfbudget/db/model.py | 5 +- 2 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 alembic/versions/28556ab17c56_selector_back_to_transaction.py diff --git a/alembic/versions/28556ab17c56_selector_back_to_transaction.py b/alembic/versions/28556ab17c56_selector_back_to_transaction.py new file mode 100644 index 0000000..33d16a6 --- /dev/null +++ b/alembic/versions/28556ab17c56_selector_back_to_transaction.py @@ -0,0 +1,88 @@ +"""Selector back to transaction + +Revision ID: 28556ab17c56 +Revises: e455c78df789 +Create Date: 2023-01-23 00:34:39.062562+00:00 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = "28556ab17c56" +down_revision = "e455c78df789" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.rename_table("tags", "tagged", schema="transactions") + op.create_table( + "selector", + sa.Column("id", sa.BigInteger(), nullable=False), + sa.Column( + "selector", + sa.Enum( + "unknown", + "nullifier", + "vacations", + "rules", + "algorithm", + "manual", + name="selector_t", + schema="transactions", + inherit_schema=True, + ), + nullable=False, + ), + sa.ForeignKeyConstraint( + ["id"], + ["transactions.categorized.id"], + name=op.f("fk_selector_id_categorized"), + ondelete="CASCADE", + ), + sa.PrimaryKeyConstraint("id", name=op.f("pk_selector")), + schema="transactions", + ) + op.drop_table("selector", schema="category") + + op.rename_table("originals", "transactions", schema="transactions") + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.rename_table("transactions", "originals", schema="transactions") + + op.create_table( + "selector", + sa.Column("id", sa.BIGINT(), autoincrement=False, nullable=False), + sa.Column( + "selector", + postgresql.ENUM( + "unknown", + "nullifier", + "vacations", + "rules", + "algorithm", + "manual", + name="selector_t", + schema="category", + ), + autoincrement=False, + nullable=False, + ), + sa.ForeignKeyConstraint( + ["id"], + ["transactions.categorized.id"], + name="fk_selector_id_categorized", + ondelete="CASCADE", + ), + sa.PrimaryKeyConstraint("id", name="pk_selector"), + schema="category", + ) + op.drop_table("selector", schema="transactions") + op.rename_table("tagged", "tags", schema="transactions") + # ### end Alembic commands ### diff --git a/pfbudget/db/model.py b/pfbudget/db/model.py index 8c1d6bc..4c5ff55 100644 --- a/pfbudget/db/model.py +++ b/pfbudget/db/model.py @@ -84,7 +84,7 @@ money = Annotated[decimal.Decimal, mapped_column(Numeric(16, 2))] class Transaction(Base, Export): - __tablename__ = "originals" + __tablename__ = "transactions" id: Mapped[idpk] = mapped_column(init=False) date: Mapped[dt.date] @@ -246,7 +246,7 @@ class Tag(Base): class TransactionTag(Base, Export): - __tablename__ = "tags" + __tablename__ = "tagged" id: Mapped[idfk] = mapped_column(primary_key=True, init=False) tag: Mapped[str] = mapped_column(ForeignKey(Tag.name), primary_key=True) @@ -275,7 +275,6 @@ categoryselector = Annotated[ class CategorySelector(Base, Export): - __table_args__ = {"schema": "category"} __tablename__ = "selector" id: Mapped[int] = mapped_column(