-- MANUAL STEPS if the full script still fails on DROP FOREIGN KEY name.
-- In phpMyAdmin → product_branch_stock → Structure → Relation view
-- note the exact FK names, then run (replace NAMES):

SET FOREIGN_KEY_CHECKS = 0;

-- ALTER TABLE product_branch_stock DROP FOREIGN KEY YOUR_FK_NAME_1;
-- ALTER TABLE product_branch_stock DROP FOREIGN KEY YOUR_FK_NAME_2;

ALTER TABLE product_branch_stock
  ADD COLUMN variation_id INT UNSIGNED NOT NULL DEFAULT 0 AFTER branch_id;
-- (skip ADD COLUMN if it already exists)

ALTER TABLE product_branch_stock DROP PRIMARY KEY;
ALTER TABLE product_branch_stock
  ADD PRIMARY KEY (product_id, branch_id, variation_id);

ALTER TABLE product_branch_stock
  ADD CONSTRAINT fk_pbs_prod FOREIGN KEY (product_id) REFERENCES products(id) ON DELETE CASCADE;
ALTER TABLE product_branch_stock
  ADD CONSTRAINT fk_pbs_branch FOREIGN KEY (branch_id) REFERENCES branches(id) ON DELETE CASCADE;

SET FOREIGN_KEY_CHECKS = 1;
