From 560299ee94615c1757dc83754164d3911765abe7 Mon Sep 17 00:00:00 2001 From: Tim Bradgate Date: Fri, 25 Apr 2025 02:25:51 +0100 Subject: [PATCH 1/2] Fix issue with foreign key constraint in session table --- ...fix_session_table_foreign_key_reference.py | 49 +++++++++++++++++++ server/models/session.py | 4 +- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 server/alembic_config/versions/a4d42ccfb71a_fix_session_table_foreign_key_reference.py diff --git a/server/alembic_config/versions/a4d42ccfb71a_fix_session_table_foreign_key_reference.py b/server/alembic_config/versions/a4d42ccfb71a_fix_session_table_foreign_key_reference.py new file mode 100644 index 00000000..cc246c72 --- /dev/null +++ b/server/alembic_config/versions/a4d42ccfb71a_fix_session_table_foreign_key_reference.py @@ -0,0 +1,49 @@ +"""Fix session table foreign key reference + +Revision ID: a4d42ccfb71a +Revises: 29471f7cf7d2 +Create Date: 2025-04-25 01:38:42.331417 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "a4d42ccfb71a" +down_revision: Union[str, None] = "29471f7cf7d2" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table("showsession", schema=None) as batch_op: + try: + batch_op.drop_constraint(None, type_="foreignkey") + except IndexError: + pass + batch_op.create_foreign_key( + batch_op.f("fk_showsession_client_internal_id_sessions"), + "sessions", + ["client_internal_id"], + ["internal_id"], + ondelete="SET NULL", + ) + + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table("showsession", schema=None) as batch_op: + batch_op.drop_constraint( + batch_op.f("fk_showsession_client_internal_id_sessions"), type_="foreignkey" + ) + batch_op.create_foreign_key( + None, "sessions", ["client_internal_id"], ["internal_id"] + ) + + # ### end Alembic commands ### diff --git a/server/models/session.py b/server/models/session.py index ff9a41f9..95895ead 100644 --- a/server/models/session.py +++ b/server/models/session.py @@ -28,7 +28,9 @@ class ShowSession(db.Model): end_date_time = Column(DateTime()) user_id = Column(Integer, ForeignKey("user.id", ondelete="SET NULL"), index=True) - client_internal_id = Column(String(255), ForeignKey("sessions.internal_id")) + client_internal_id = Column( + String(255), ForeignKey("sessions.internal_id", ondelete="SET NULL") + ) last_client_internal_id = Column(String(255)) latest_line_ref = Column(String) From 8e3faa3ce0a31bc1aac0a728c83abe1cf30dfce5 Mon Sep 17 00:00:00 2001 From: Tim Bradgate Date: Fri, 25 Apr 2025 02:26:55 +0100 Subject: [PATCH 2/2] Bump version to 0.11.1 --- client/package-lock.json | 4 ++-- client/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 6d071952..632faffa 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,12 +1,12 @@ { "name": "client", - "version": "0.11.0", + "version": "0.11.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "client", - "version": "0.11.0", + "version": "0.11.1", "dependencies": { "bootstrap": "4.6.2", "bootstrap-vue": "2.23.1", diff --git a/client/package.json b/client/package.json index 75f60df4..087b3a3f 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "client", - "version": "0.11.0", + "version": "0.11.1", "private": true, "scripts": { "build": "vite build",