Update add_docupulse_settings_table.py

This commit is contained in:
2025-06-05 11:47:26 +02:00
parent 6273866324
commit 39cbff2234

View File

@@ -16,21 +16,32 @@ branch_labels = None
depends_on = None depends_on = None
def upgrade(): def upgrade():
# Create docupulse_settings table # Check if table exists
op.create_table('docupulse_settings', conn = op.get_bind()
sa.Column('id', sa.Integer(), nullable=False), inspector = sa.inspect(conn)
sa.Column('max_rooms', sa.Integer(), nullable=False, server_default='10'), if 'docupulse_settings' in inspector.get_table_names():
sa.Column('max_conversations', sa.Integer(), nullable=False, server_default='10'), # Table exists, alter the max_storage column
sa.Column('max_storage', sa.BigInteger(), nullable=False, server_default='10737418240'), # 10GB in bytes op.alter_column('docupulse_settings', 'max_storage',
sa.Column('updated_at', sa.DateTime(), nullable=False, server_default=sa.text('CURRENT_TIMESTAMP')), existing_type=sa.Integer(),
sa.PrimaryKeyConstraint('id') 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 # Insert default settings
op.execute(""" op.execute("""
INSERT INTO docupulse_settings (id, max_rooms, max_conversations, max_storage, updated_at) INSERT INTO docupulse_settings (id, max_rooms, max_conversations, max_storage, updated_at)
VALUES (1, 10, 10, 10737418240, CURRENT_TIMESTAMP) VALUES (1, 10, 10, 10737418240, CURRENT_TIMESTAMP)
""") """)
def downgrade(): def downgrade():
op.drop_table('docupulse_settings') op.drop_table('docupulse_settings')