add_review_columns.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import sys
  2. import os
  3. # Add backend directory to sys.path for db import
  4. sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  5. import db
  6. import mysql.connector
  7. def migrate():
  8. print("Starting migration: Adding review columns to orders table...")
  9. queries = [
  10. "ALTER TABLE orders ADD COLUMN review_text TEXT DEFAULT NULL",
  11. "ALTER TABLE orders ADD COLUMN rating INT DEFAULT 0",
  12. "ALTER TABLE orders ADD COLUMN review_approved TINYINT(1) DEFAULT 0"
  13. ]
  14. for q in queries:
  15. try:
  16. db.execute_commit(q)
  17. col_name = q.split("ADD COLUMN ")[1].split(" ")[0]
  18. print(f" [SUCCESS] Column '{col_name}' added.")
  19. except Exception as e:
  20. if "Duplicate column" in str(e):
  21. col_name = q.split("ADD COLUMN ")[1].split(" ")[0]
  22. print(f" [INFO] Column '{col_name}' already exists.")
  23. else:
  24. print(f" [ERROR] Failed to execute query: {q}. Error: {e}")
  25. print("Migration finished.")
  26. if __name__ == "__main__":
  27. migrate()