CREATE TABLE IF NOT EXISTS personalizations (
  id VARCHAR(64) NOT NULL PRIMARY KEY,
  created_at DATETIME NOT NULL,
  updated_at DATETIME NULL,
  status VARCHAR(50) NOT NULL DEFAULT 'new',
  approval_status VARCHAR(50) NOT NULL DEFAULT 'not-sent',
  source VARCHAR(50) NULL,
  linked_to_order TINYINT(1) NOT NULL DEFAULT 0,
  order_id VARCHAR(100) NULL,
  order_name VARCHAR(100) NULL,
  order_number VARCHAR(50) NULL,
  customer_name VARCHAR(255) NULL,
  customer_email VARCHAR(255) NULL,
  product_handle VARCHAR(255) NULL,
  product_title VARCHAR(255) NULL,
  variant_id VARCHAR(100) NULL,
  line_item_title VARCHAR(255) NULL,
  custom_text VARCHAR(255) NULL,
  font_choice VARCHAR(100) NULL,
  material_choice VARCHAR(100) NULL,
  notes TEXT NULL,
  approval_checked TINYINT(1) NOT NULL DEFAULT 0,
  image_file VARCHAR(255) NULL,
  image_url VARCHAR(500) NULL,
  proof_url VARCHAR(500) NULL,
  internal_notes TEXT NULL,
  approval_notes TEXT NULL,
  approved_at DATETIME NULL
);
