From 65d397d346429ad90fc9c8f4882b6e89b3c95395 Mon Sep 17 00:00:00 2001 From: Mohammad Torkashvand <mohammad.torkashvand@geant.org> Date: Wed, 20 Mar 2024 12:34:48 +0100 Subject: [PATCH] alter email in partner table and make it required --- gso/db/models.py | 11 +++---- ..._edit_partner_table_making_some_fields_.py | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 gso/migrations/versions/2024-03-20_d61c0f92da1e_edit_partner_table_making_some_fields_.py diff --git a/gso/db/models.py b/gso/db/models.py index 350aa907..02d8c59c 100644 --- a/gso/db/models.py +++ b/gso/db/models.py @@ -33,18 +33,19 @@ class PartnerTable(BaseModel): __tablename__ = "partners" partner_id = mapped_column(String, server_default=text("uuid_generate_v4"), primary_key=True) - name = mapped_column(String, unique=True) - email = mapped_column(String, unique=True, nullable=True) + name = mapped_column(String, unique=True, nullable=True) + email = mapped_column(String, unique=True, nullable=False) + partner_type = mapped_column(Enum(PartnerType), nullable=False) + as_number = mapped_column( - String, unique=True + String, unique=True, nullable=True ) # the as_number and as_set are mutually exclusive. if you give me one I don't need the other - as_set = mapped_column(String) + as_set = mapped_column(String, nullable=True) route_set = mapped_column(String, nullable=True) black_listed_as_sets = mapped_column(ARRAY(String), nullable=True) additional_routers = mapped_column(ARRAY(String), nullable=True) additional_bgp_speakers = mapped_column(ARRAY(String), nullable=True) - partner_type = mapped_column(Enum(PartnerType), nullable=False) created_at = mapped_column(UtcTimestamp, server_default=text("current_timestamp"), nullable=False) updated_at = mapped_column( UtcTimestamp, server_default=text("current_timestamp"), nullable=False, onupdate=text("current_timestamp") diff --git a/gso/migrations/versions/2024-03-20_d61c0f92da1e_edit_partner_table_making_some_fields_.py b/gso/migrations/versions/2024-03-20_d61c0f92da1e_edit_partner_table_making_some_fields_.py new file mode 100644 index 00000000..8449597f --- /dev/null +++ b/gso/migrations/versions/2024-03-20_d61c0f92da1e_edit_partner_table_making_some_fields_.py @@ -0,0 +1,30 @@ +"""Edit Partner table, Making some fields required. + +Revision ID: d61c0f92da1e +Revises: eaed66b04913 +Create Date: 2024-03-20 12:29:24.145489 + +""" +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = 'd61c0f92da1e' +down_revision = 'eaed66b04913' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + conn = op.get_bind() + conn.execute( + sa.text( + """UPDATE partners SET email = 'goat@geant.org' WHERE name='GEANT'""")) + + op.alter_column('partners', 'email', existing_type=sa.String(), nullable=False) + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column('partners', 'email', existing_type=sa.String(), nullable=True) + # ### end Alembic commands ### -- GitLab