From 39cbff223477914f5c515274efbf79dc51e5be4c Mon Sep 17 00:00:00 2001 From: Kobe Date: Thu, 5 Jun 2025 11:47:26 +0200 Subject: [PATCH] Update add_docupulse_settings_table.py --- .../versions/add_docupulse_settings_table.py | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/migrations/versions/add_docupulse_settings_table.py b/migrations/versions/add_docupulse_settings_table.py index fbccfd1..897f87b 100644 --- a/migrations/versions/add_docupulse_settings_table.py +++ b/migrations/versions/add_docupulse_settings_table.py @@ -16,21 +16,32 @@ branch_labels = None depends_on = None def upgrade(): - # Create docupulse_settings table - op.create_table('docupulse_settings', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('max_rooms', sa.Integer(), nullable=False, server_default='10'), - sa.Column('max_conversations', sa.Integer(), nullable=False, server_default='10'), - sa.Column('max_storage', sa.BigInteger(), nullable=False, server_default='10737418240'), # 10GB in bytes - sa.Column('updated_at', sa.DateTime(), nullable=False, server_default=sa.text('CURRENT_TIMESTAMP')), - sa.PrimaryKeyConstraint('id') - ) - - # Insert default settings - op.execute(""" - INSERT INTO docupulse_settings (id, max_rooms, max_conversations, max_storage, updated_at) - VALUES (1, 10, 10, 10737418240, CURRENT_TIMESTAMP) - """) + # Check if table exists + conn = op.get_bind() + inspector = sa.inspect(conn) + if 'docupulse_settings' in inspector.get_table_names(): + # Table exists, alter the max_storage column + op.alter_column('docupulse_settings', 'max_storage', + existing_type=sa.Integer(), + type_=sa.BigInteger(), + existing_nullable=False, + server_default='10737418240') + else: + # Create new table + op.create_table('docupulse_settings', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('max_rooms', sa.Integer(), nullable=False, server_default='10'), + sa.Column('max_conversations', sa.Integer(), nullable=False, server_default='10'), + sa.Column('max_storage', sa.BigInteger(), nullable=False, server_default='10737418240'), # 10GB in bytes + sa.Column('updated_at', sa.DateTime(), nullable=False, server_default=sa.text('CURRENT_TIMESTAMP')), + sa.PrimaryKeyConstraint('id') + ) + + # Insert default settings + op.execute(""" + INSERT INTO docupulse_settings (id, max_rooms, max_conversations, max_storage, updated_at) + VALUES (1, 10, 10, 10737418240, CURRENT_TIMESTAMP) + """) def downgrade(): op.drop_table('docupulse_settings') \ No newline at end of file