diff --git a/migrations/versions/444d76da74ba_add_notifications_table.py b/migrations/versions/444d76da74ba_add_notifications_table.py index 1f36179..c01a54c 100644 --- a/migrations/versions/444d76da74ba_add_notifications_table.py +++ b/migrations/versions/444d76da74ba_add_notifications_table.py @@ -19,7 +19,25 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('template_variables') + conn = op.get_bind() + inspector = inspect(conn) + tables = inspector.get_table_names() + + if 'template_variables' in tables: + op.drop_table('template_variables') + + op.create_table('notification', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('title', sa.String(length=200), nullable=False), + sa.Column('message', sa.Text(), nullable=False), + sa.Column('type', sa.String(length=50), nullable=False), + sa.Column('read', sa.Boolean(), nullable=False, server_default='false'), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) # ### end Alembic commands ### @@ -29,6 +47,9 @@ def downgrade(): inspector = inspect(conn) tables = inspector.get_table_names() + if 'notification' in tables: + op.drop_table('notification') + if 'template_variables' not in tables: op.create_table('template_variables', sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), diff --git a/migrations/versions/__pycache__/0f48943140fa_add_file_attachment_fields_to_message_.cpython-311.pyc b/migrations/versions/__pycache__/0f48943140fa_add_file_attachment_fields_to_message_.cpython-311.pyc index 6bd3a2e..23a35ae 100644 Binary files a/migrations/versions/__pycache__/0f48943140fa_add_file_attachment_fields_to_message_.cpython-311.pyc and b/migrations/versions/__pycache__/0f48943140fa_add_file_attachment_fields_to_message_.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/25da158dd705_add_is_admin_to_contact_model.cpython-311.pyc b/migrations/versions/__pycache__/25da158dd705_add_is_admin_to_contact_model.cpython-311.pyc index ef34f79..e2a6eff 100644 Binary files a/migrations/versions/__pycache__/25da158dd705_add_is_admin_to_contact_model.cpython-311.pyc and b/migrations/versions/__pycache__/25da158dd705_add_is_admin_to_contact_model.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/444d76da74ba_add_notifications_table.cpython-311.pyc b/migrations/versions/__pycache__/444d76da74ba_add_notifications_table.cpython-311.pyc index 3e27fb5..c2d4aba 100644 Binary files a/migrations/versions/__pycache__/444d76da74ba_add_notifications_table.cpython-311.pyc and b/migrations/versions/__pycache__/444d76da74ba_add_notifications_table.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/64b5c28510b0_add_room_file_table_for_file_folder_.cpython-311.pyc b/migrations/versions/__pycache__/64b5c28510b0_add_room_file_table_for_file_folder_.cpython-311.pyc index 8049371..8bd0500 100644 Binary files a/migrations/versions/__pycache__/64b5c28510b0_add_room_file_table_for_file_folder_.cpython-311.pyc and b/migrations/versions/__pycache__/64b5c28510b0_add_room_file_table_for_file_folder_.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/6651332488d9_add_starred_column_to_room_file_table.cpython-311.pyc b/migrations/versions/__pycache__/6651332488d9_add_starred_column_to_room_file_table.cpython-311.pyc index 871bd1d..fa52cb2 100644 Binary files a/migrations/versions/__pycache__/6651332488d9_add_starred_column_to_room_file_table.cpython-311.pyc and b/migrations/versions/__pycache__/6651332488d9_add_starred_column_to_room_file_table.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/787468cfea77_add_company_information_fields_to_.cpython-311.pyc b/migrations/versions/__pycache__/787468cfea77_add_company_information_fields_to_.cpython-311.pyc index 8980c01..d176baf 100644 Binary files a/migrations/versions/__pycache__/787468cfea77_add_company_information_fields_to_.cpython-311.pyc and b/migrations/versions/__pycache__/787468cfea77_add_company_information_fields_to_.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/add_deleted_by_to_room_file.cpython-311.pyc b/migrations/versions/__pycache__/add_deleted_by_to_room_file.cpython-311.pyc index d1eff4f..dd83766 100644 Binary files a/migrations/versions/__pycache__/add_deleted_by_to_room_file.cpython-311.pyc and b/migrations/versions/__pycache__/add_deleted_by_to_room_file.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/add_deleted_column_to_room_file.cpython-311.pyc b/migrations/versions/__pycache__/add_deleted_column_to_room_file.cpython-311.pyc index c5b9231..387d315 100644 Binary files a/migrations/versions/__pycache__/add_deleted_column_to_room_file.cpython-311.pyc and b/migrations/versions/__pycache__/add_deleted_column_to_room_file.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/be1f7bdd10e1_add_granular_permissions_to_.cpython-311.pyc b/migrations/versions/__pycache__/be1f7bdd10e1_add_granular_permissions_to_.cpython-311.pyc index 5a38f79..9d4da86 100644 Binary files a/migrations/versions/__pycache__/be1f7bdd10e1_add_granular_permissions_to_.cpython-311.pyc and b/migrations/versions/__pycache__/be1f7bdd10e1_add_granular_permissions_to_.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/c21f243b3640_add_profile_picture_to_user.cpython-311.pyc b/migrations/versions/__pycache__/c21f243b3640_add_profile_picture_to_user.cpython-311.pyc index 007b006..57129e8 100644 Binary files a/migrations/versions/__pycache__/c21f243b3640_add_profile_picture_to_user.cpython-311.pyc and b/migrations/versions/__pycache__/c21f243b3640_add_profile_picture_to_user.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/c243d6a1843d_add_last_name_to_user_model.cpython-311.pyc b/migrations/versions/__pycache__/c243d6a1843d_add_last_name_to_user_model.cpython-311.pyc index abcd774..717f0f2 100644 Binary files a/migrations/versions/__pycache__/c243d6a1843d_add_last_name_to_user_model.cpython-311.pyc and b/migrations/versions/__pycache__/c243d6a1843d_add_last_name_to_user_model.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/c770e08966b4_add_email_templates_table.cpython-311.pyc b/migrations/versions/__pycache__/c770e08966b4_add_email_templates_table.cpython-311.pyc index 9763a63..50626e1 100644 Binary files a/migrations/versions/__pycache__/c770e08966b4_add_email_templates_table.cpython-311.pyc and b/migrations/versions/__pycache__/c770e08966b4_add_email_templates_table.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/d8dcbf9fe881_increase_password_hash_column_length.cpython-311.pyc b/migrations/versions/__pycache__/d8dcbf9fe881_increase_password_hash_column_length.cpython-311.pyc index cc2786c..3842587 100644 Binary files a/migrations/versions/__pycache__/d8dcbf9fe881_increase_password_hash_column_length.cpython-311.pyc and b/migrations/versions/__pycache__/d8dcbf9fe881_increase_password_hash_column_length.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/dbcb5d2d3ed0_add_contact_model.cpython-311.pyc b/migrations/versions/__pycache__/dbcb5d2d3ed0_add_contact_model.cpython-311.pyc index 23ff8f4..9469b3c 100644 Binary files a/migrations/versions/__pycache__/dbcb5d2d3ed0_add_contact_model.cpython-311.pyc and b/migrations/versions/__pycache__/dbcb5d2d3ed0_add_contact_model.cpython-311.pyc differ diff --git a/migrations/versions/__pycache__/f18735338888_add_company_logo_field.cpython-311.pyc b/migrations/versions/__pycache__/f18735338888_add_company_logo_field.cpython-311.pyc index 9685bd7..423ed5c 100644 Binary files a/migrations/versions/__pycache__/f18735338888_add_company_logo_field.cpython-311.pyc and b/migrations/versions/__pycache__/f18735338888_add_company_logo_field.cpython-311.pyc differ diff --git a/migrations/versions/c770e08966b4_add_email_templates_table.py b/migrations/versions/c770e08966b4_add_email_templates_table.py index aab35a5..9d95b4f 100644 --- a/migrations/versions/c770e08966b4_add_email_templates_table.py +++ b/migrations/versions/c770e08966b4_add_email_templates_table.py @@ -2,7 +2,7 @@ Revision ID: c770e08966b4 Revises: e7e4ff171f7a -Create Date: 2025-06-01 20:09:08.019884 +Create Date: 2025-06-02 14:00:05.521776 """ from alembic import op @@ -23,28 +23,38 @@ def upgrade(): inspector = inspect(conn) tables = inspector.get_table_names() - if 'email_templates' not in tables: - op.create_table('email_templates', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('subject', sa.String(length=200), nullable=False), - sa.Column('body', sa.Text(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('updated_at', sa.DateTime(), nullable=True), - sa.Column('created_by', sa.Integer(), nullable=False), - sa.Column('is_active', sa.Boolean(), nullable=True), - sa.ForeignKeyConstraint(['created_by'], ['user.id'], ), - sa.PrimaryKeyConstraint('id') - ) - op.drop_table('notification') + if 'notification' in tables: + op.drop_table('notification') + + op.create_table('email_template', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=100), nullable=False), + sa.Column('subject', sa.String(length=200), nullable=False), + sa.Column('body', sa.Text(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('name') + ) + + # Check for existing indexes before dropping them with op.batch_alter_table('events', schema=None) as batch_op: batch_op.alter_column('details', existing_type=postgresql.JSONB(astext_type=sa.Text()), type_=sa.JSON(), existing_nullable=True) - batch_op.drop_index(batch_op.f('idx_events_event_type')) - batch_op.drop_index(batch_op.f('idx_events_timestamp')) - batch_op.drop_index(batch_op.f('idx_events_user_id')) + + # Get existing indexes + indexes = inspector.get_indexes('events') + index_names = [idx['name'] for idx in indexes] + + # Only drop indexes if they exist + if 'idx_events_event_type' in index_names: + batch_op.drop_index(batch_op.f('idx_events_event_type')) + if 'idx_events_timestamp' in index_names: + batch_op.drop_index(batch_op.f('idx_events_timestamp')) + if 'idx_events_user_id' in index_names: + batch_op.drop_index(batch_op.f('idx_events_user_id')) # ### end Alembic commands ### @@ -60,22 +70,5 @@ def downgrade(): type_=postgresql.JSONB(astext_type=sa.Text()), existing_nullable=True) - conn = op.get_bind() - inspector = inspect(conn) - tables = inspector.get_table_names() - - if 'notification' not in tables: - op.create_table('notification', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=False), - sa.Column('message', sa.TEXT(), autoincrement=False, nullable=False), - sa.Column('type', sa.VARCHAR(length=50), autoincrement=False, nullable=False), - sa.Column('is_read', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(), autoincrement=False, nullable=True), - sa.Column('link', sa.VARCHAR(length=512), autoincrement=False, nullable=True), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('notification_user_id_fkey')), - sa.PrimaryKeyConstraint('id', name=op.f('notification_pkey')) - ) - op.drop_table('email_templates') + op.drop_table('email_template') # ### end Alembic commands ### \ No newline at end of file