| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import mysql.connector
- import os
- import sys
- # Add parent dir to path to import db
- sys.path.append(os.path.dirname(os.path.abspath(__file__)))
- from db import DB_CONFIG
- def migrate():
- try:
- conn = mysql.connector.connect(**DB_CONFIG)
- cursor = conn.cursor()
-
- print("Checking materials table...")
- cursor.execute("DESCRIBE materials")
- columns = [c[0] for c in cursor.fetchall()]
-
- if 'name_key' in columns:
- print("Migrating materials table to localized columns...")
- cursor.execute("ALTER TABLE materials ADD COLUMN name_en VARCHAR(100) AFTER id")
- cursor.execute("ALTER TABLE materials ADD COLUMN name_ru VARCHAR(100) AFTER name_en")
- cursor.execute("ALTER TABLE materials ADD COLUMN name_me VARCHAR(100) AFTER name_ru")
- cursor.execute("ALTER TABLE materials ADD COLUMN desc_en TEXT AFTER name_me")
- cursor.execute("ALTER TABLE materials ADD COLUMN desc_ru TEXT AFTER desc_en")
- cursor.execute("ALTER TABLE materials ADD COLUMN desc_me TEXT AFTER desc_ru")
- cursor.execute("ALTER TABLE materials DROP COLUMN name_key")
- cursor.execute("ALTER TABLE materials DROP COLUMN description_key")
-
- print("Checking services table...")
- cursor.execute("DESCRIBE services")
- columns = [c[0] for c in cursor.fetchall()]
- if 'description_key' in columns:
- # Check if it's already text or needs change
- pass # We'll just leave it for now or truncate and redo
-
- conn.commit()
- print("Migration complete.")
-
- except Exception as e:
- print(f"Error: {e}")
- finally:
- if 'conn' in locals() and conn.is_connected():
- cursor.close()
- conn.close()
- if __name__ == "__main__":
- migrate()
|