#!/usr/bin/env python3 """ Изменение статуса жалобы на draft """ import asyncio import asyncpg import json POSTGRES_HOST = "147.45.189.234" POSTGRES_PORT = 5432 POSTGRES_DB = "default_db" POSTGRES_USER = "gen_user" POSTGRES_PASSWORD = "2~~9_^kVsU?2\\S" CLAIM_ID = "bddb6815-8e17-4d54-a721-5e94382942c7" async def set_status_to_draft(): conn = await asyncpg.connect( host=POSTGRES_HOST, port=POSTGRES_PORT, database=POSTGRES_DB, user=POSTGRES_USER, password=POSTGRES_PASSWORD ) try: # Сначала проверяем текущий статус row = await conn.fetchrow(""" SELECT id, status_code, payload, updated_at FROM clpr_claims WHERE id::text = $1 OR payload->>'claim_id' = $1 ORDER BY updated_at DESC LIMIT 1 """, CLAIM_ID) if not row: print(f"❌ Жалоба с claim_id '{CLAIM_ID}' не найдена") return print(f"📋 Текущий статус: {row['status_code']}") print(f"📋 ID в БД: {row['id']}") # Обновляем статус на draft result = await conn.execute(""" UPDATE clpr_claims SET status_code = 'draft', updated_at = now() WHERE id = $1 """, row['id']) print(f"✅ Статус обновлён на 'draft'") print(f"📋 Результат: {result}") # Проверяем новый статус new_row = await conn.fetchrow(""" SELECT status_code, updated_at FROM clpr_claims WHERE id = $1 """, row['id']) print(f"\n📋 Новый статус: {new_row['status_code']}") print(f"📋 Обновлено: {new_row['updated_at']}") except Exception as e: print(f"❌ Ошибка: {e}") import traceback traceback.print_exc() finally: await conn.close() if __name__ == "__main__": asyncio.run(set_status_to_draft())