migrate_strategic_cooperation.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """
  2. Migration script to add description field to strategic_cooperation table
  3. Run this script to update the database schema
  4. """
  5. import pymysql
  6. import os
  7. # Get database configuration from environment or use defaults
  8. DB_USER = os.environ.get('DB_USER') or 'official_web'
  9. DB_PASSWORD = os.environ.get('DB_PASSWORD') or 'Wp75NdTYeCtbf6Hy'
  10. DB_HOST = os.environ.get('DB_HOST') or '47.109.147.74'
  11. DB_PORT = int(os.environ.get('DB_PORT') or '3306')
  12. DB_NAME = os.environ.get('DB_NAME') or 'official_web'
  13. try:
  14. # Connect to the database
  15. conn = pymysql.connect(
  16. host=DB_HOST,
  17. port=DB_PORT,
  18. user=DB_USER,
  19. password=DB_PASSWORD,
  20. database=DB_NAME
  21. )
  22. cursor = conn.cursor()
  23. # Check if column already exists
  24. cursor.execute("""
  25. SELECT COUNT(*)
  26. FROM information_schema.COLUMNS
  27. WHERE TABLE_SCHEMA = %s
  28. AND TABLE_NAME = 'strategic_cooperation'
  29. AND COLUMN_NAME = 'description'
  30. """, (DB_NAME,))
  31. exists = cursor.fetchone()[0] > 0
  32. if exists:
  33. print("✓ Description column already exists in strategic_cooperation table")
  34. else:
  35. # Add description column
  36. cursor.execute('ALTER TABLE strategic_cooperation ADD COLUMN description TEXT')
  37. conn.commit()
  38. print("✓ Successfully added description column to strategic_cooperation table")
  39. except Exception as e:
  40. print(f"✗ Error: {e}")
  41. if 'conn' in locals():
  42. conn.rollback()
  43. finally:
  44. if 'conn' in locals():
  45. conn.close()
  46. print("\nMigration completed!")