# RUN THESE COMMANDS IN YOUR SSH SESSION # Exit Python if you're still in it exit() # Now run Flask shell flask shell # Once in Flask shell, paste this: from app import db db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS username VARCHAR(80)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS phone_number VARCHAR(20)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS location VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS business_name VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS business_type VARCHAR(50)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS abn VARCHAR(20)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS bio TEXT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS skills TEXT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS experience_years INTEGER") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS rating FLOAT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS total_reviews INTEGER") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS completed_jobs INTEGER") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS verified BOOLEAN DEFAULT FALSE") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS stripe_customer_id VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS stripe_account_id VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS profile_image VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS date_of_birth DATE") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS address VARCHAR(255)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS suburb VARCHAR(100)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS state VARCHAR(50)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS postcode VARCHAR(10)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS latitude FLOAT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS longitude FLOAT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS availability TEXT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS hourly_rate NUMERIC(10,2)") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS specializations TEXT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS certifications TEXT") db.engine.execute("ALTER TABLE users ADD COLUMN IF NOT EXISTS role VARCHAR(20) DEFAULT 'worker'") print("SUCCESS! All columns added. 500 errors fixed!") exit() # Alternative: If db.engine.execute doesn't work, try: from sqlalchemy import text db.session.execute(text("ALTER TABLE users ADD COLUMN IF NOT EXISTS username VARCHAR(80)")) # ... repeat for all columns db.session.commit()