-- Vehicle type: two_wheeler / four_wheeler

USE fiac_db;

ALTER TABLE vehicle_brands
  ADD COLUMN vehicle_type ENUM('four_wheeler', 'two_wheeler') NOT NULL DEFAULT 'four_wheeler' AFTER slug;

ALTER TABLE customer_vehicles
  ADD COLUMN vehicle_type ENUM('four_wheeler', 'two_wheeler') NOT NULL DEFAULT 'four_wheeler' AFTER vehicle_brand_id;

UPDATE vehicle_brands SET vehicle_type = 'four_wheeler';

INSERT INTO vehicle_brands (name, slug, vehicle_type, sort_order) VALUES
  ('Honda', 'honda_2w', 'two_wheeler', 101),
  ('Yamaha', 'yamaha_2w', 'two_wheeler', 102),
  ('Royal Enfield', 'royal_enfield_2w', 'two_wheeler', 103),
  ('TVS', 'tvs_2w', 'two_wheeler', 104),
  ('Bajaj', 'bajaj_2w', 'two_wheeler', 105),
  ('KTM', 'ktm_2w', 'two_wheeler', 106),
  ('Suzuki', 'suzuki_2w', 'two_wheeler', 107),
  ('Hero', 'hero_2w', 'two_wheeler', 108)
ON DUPLICATE KEY UPDATE vehicle_type = VALUES(vehicle_type);

INSERT INTO vehicle_models (brand_id, name, slug, sort_order)
SELECT b.id, m.name, m.slug, m.sort_order FROM vehicle_brands b
JOIN (
  SELECT 'honda_2w' AS brand, 'Activa' AS name, 'activa' AS slug, 1 AS sort_order UNION ALL
  SELECT 'honda_2w', 'Shine', 'shine', 2 UNION ALL
  SELECT 'honda_2w', 'Unicorn', 'unicorn', 3 UNION ALL
  SELECT 'honda_2w', 'CB350', 'cb350', 4 UNION ALL
  SELECT 'yamaha_2w', 'R15', 'r15', 1 UNION ALL
  SELECT 'yamaha_2w', 'FZ', 'fz', 2 UNION ALL
  SELECT 'yamaha_2w', 'MT-15', 'mt15', 3 UNION ALL
  SELECT 'royal_enfield_2w', 'Classic 350', 'classic_350', 1 UNION ALL
  SELECT 'royal_enfield_2w', 'Meteor 350', 'meteor_350', 2 UNION ALL
  SELECT 'royal_enfield_2w', 'Hunter 350', 'hunter_350', 3 UNION ALL
  SELECT 'tvs_2w', 'Apache', 'apache', 1 UNION ALL
  SELECT 'tvs_2w', 'Jupiter', 'jupiter', 2 UNION ALL
  SELECT 'tvs_2w', 'Raider', 'raider', 3 UNION ALL
  SELECT 'bajaj_2w', 'Pulsar', 'pulsar', 1 UNION ALL
  SELECT 'bajaj_2w', 'Dominar', 'dominar', 2 UNION ALL
  SELECT 'bajaj_2w', 'Chetak', 'chetak', 3 UNION ALL
  SELECT 'ktm_2w', 'Duke 200', 'duke_200', 1 UNION ALL
  SELECT 'ktm_2w', 'RC 200', 'rc_200', 2 UNION ALL
  SELECT 'suzuki_2w', 'Access', 'access', 1 UNION ALL
  SELECT 'suzuki_2w', 'Gixxer', 'gixxer', 2 UNION ALL
  SELECT 'hero_2w', 'Splendor', 'splendor', 1 UNION ALL
  SELECT 'hero_2w', 'Xtreme', 'xtreme', 2
) m ON b.slug = m.brand
WHERE b.vehicle_type = 'two_wheeler'
ON DUPLICATE KEY UPDATE name = VALUES(name);
