[DB] Change Bank PK

This commit is contained in:
Luís Murta 2023-04-29 20:19:47 +01:00
parent 94322ae542
commit da44ba5306
Signed by: satprog
GPG Key ID: 169EF1BBD7049F94
2 changed files with 98 additions and 3 deletions

View File

@ -0,0 +1,95 @@
"""Change bank constraints
Revision ID: ce68ee15e5d2
Revises: d7f0401c1fd3
Create Date: 2023-04-29 15:53:24.753628+00:00
"""
from alembic import op
# revision identifiers, used by Alembic.
revision = "ce68ee15e5d2"
down_revision = "d7f0401c1fd3"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.drop_constraint(
"fk_transactions_bank_banks",
"transactions",
type_="foreignkey",
schema="pfbudget",
)
op.drop_constraint(
"fk_banks_nordigen_name_banks",
"banks_nordigen",
type_="foreignkey",
schema="pfbudget",
)
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint("uq_banks_name", "banks", schema="pfbudget", type_="unique")
# ### end Alembic commands ###
op.execute("ALTER TABLE pfbudget.banks DROP CONSTRAINT pk_banks")
op.create_primary_key("pk_banks", "banks", ["name"], schema="pfbudget")
op.create_foreign_key(
"fk_transactions_bank_banks",
"transactions",
"banks",
["bank"],
["name"],
source_schema="pfbudget",
referent_schema="pfbudget",
)
op.create_foreign_key(
"fk_banks_nordigen_name_banks",
"banks_nordigen",
"banks",
["name"],
["name"],
source_schema="pfbudget",
referent_schema="pfbudget",
)
def downgrade() -> None:
op.drop_constraint(
"fk_transactions_bank_banks",
"transactions",
type_="foreignkey",
schema="pfbudget",
)
op.drop_constraint(
"fk_banks_nordigen_name_banks",
"banks_nordigen",
type_="foreignkey",
schema="pfbudget",
)
op.execute("ALTER TABLE pfbudget.banks DROP CONSTRAINT pk_banks")
op.create_primary_key("pk_banks", "banks", ["BIC", "type"], schema="pfbudget")
# ### commands auto generated by Alembic - please adjust! ###
op.create_unique_constraint("uq_banks_name", "banks", ["name"], schema="pfbudget")
# ### end Alembic commands ###
op.create_foreign_key(
"fk_transactions_bank_banks",
"transactions",
"banks",
["bank"],
["name"],
source_schema="pfbudget",
referent_schema="pfbudget",
)
op.create_foreign_key(
"fk_banks_nordigen_name_banks",
"banks_nordigen",
"banks",
["name"],
["name"],
source_schema="pfbudget",
referent_schema="pfbudget",
)

View File

@ -61,9 +61,9 @@ class Export:
class Bank(Base, Export): class Bank(Base, Export):
__tablename__ = "banks" __tablename__ = "banks"
name: Mapped[str] = mapped_column(unique=True) name: Mapped[str] = mapped_column(primary_key=True)
BIC: Mapped[str] = mapped_column(String(8), primary_key=True) BIC: Mapped[str] = mapped_column(String(8))
type: Mapped[accounttype] = mapped_column(primary_key=True) type: Mapped[accounttype]
nordigen: Mapped[Optional[Nordigen]] = relationship(lazy="joined", init=False) nordigen: Mapped[Optional[Nordigen]] = relationship(lazy="joined", init=False)