diff --git a/backend/alembic/versions/initial_migration.py b/backend/alembic/versions/initial_migration.py index 5d28df5..e8ca6b5 100644 --- a/backend/alembic/versions/initial_migration.py +++ b/backend/alembic/versions/initial_migration.py @@ -14,22 +14,9 @@ branch_labels = None depends_on = None def upgrade() -> None: - connection = op.get_bind() - - # Проверяем существование enum типов перед их созданием - result = connection.execute(sa.text( - "SELECT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'requeststatus');" - )).scalar() - if not result: - request_status = sa.Enum(RequestStatus, name='requeststatus') - request_status.create(connection, checkfirst=True) - - result = connection.execute(sa.text( - "SELECT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'requestpriority');" - )).scalar() - if not result: - request_priority = sa.Enum(RequestPriority, name='requestpriority') - request_priority.create(connection, checkfirst=True) + # Create enum types + request_status = sa.Enum(RequestStatus, name='requeststatus') + request_priority = sa.Enum(RequestPriority, name='requestpriority') # Create employees table op.create_table( @@ -53,8 +40,8 @@ def upgrade() -> None: sa.Column('employee_id', sa.Integer(), nullable=True), sa.Column('department', sa.String(), nullable=False), sa.Column('request_type', sa.String(), nullable=False), - sa.Column('priority', 'requestpriority', nullable=False), - sa.Column('status', 'requeststatus', nullable=False, server_default="'NEW'"), + sa.Column('priority', request_priority, nullable=False), + sa.Column('status', request_status, nullable=False, server_default=RequestStatus.NEW.name), sa.Column('description', sa.String(), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()')), sa.ForeignKeyConstraint(['employee_id'], ['employees.id'], ), @@ -66,7 +53,6 @@ def downgrade() -> None: op.drop_table('requests') op.drop_table('employees') - # Drop enum types if they exist - connection = op.get_bind() - connection.execute(sa.text('DROP TYPE IF EXISTS requeststatus CASCADE;')) - connection.execute(sa.text('DROP TYPE IF EXISTS requestpriority CASCADE;')) \ No newline at end of file + # Drop enum types + sa.Enum(RequestStatus, name='requeststatus').drop(op.get_bind(), checkfirst=True) + sa.Enum(RequestPriority, name='requestpriority').drop(op.get_bind(), checkfirst=True) \ No newline at end of file