69 lines
2.8 KiB
SQL
69 lines
2.8 KiB
SQL
INSERT IGNORE INTO inv_categories (name, code, color, requires_line, sort_order) VALUES
|
|
('Linea di produzione', 'line', '#dc2626', 1, 10),
|
|
('Attrezzature', 'equipment', '#0d6efd', 0, 20),
|
|
('Accessori', 'accessories', '#20c997', 0, 30),
|
|
('Qualità', 'quality', '#6f42c1', 0, 40);
|
|
|
|
UPDATE inv_equipment
|
|
SET category_id = (SELECT id FROM inv_categories WHERE code = 'equipment')
|
|
WHERE category_id IS NULL AND line_id IS NULL;
|
|
|
|
INSERT INTO inv_equipment (name, category_id, line_id, status, description, created_at, updated_at)
|
|
SELECT
|
|
pl.name,
|
|
(SELECT id FROM inv_categories WHERE code = 'line'),
|
|
pl.id,
|
|
IF(pl.status = 'active', 'active', 'out_of_service'),
|
|
CONCAT_WS(' ', NULLIF(pl.brand, ''), NULLIF(pl.model, '')),
|
|
NOW(), NOW()
|
|
FROM production_lines pl
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM inv_equipment e WHERE e.line_id = pl.id
|
|
);
|
|
|
|
DELIMITER $$
|
|
|
|
DROP PROCEDURE IF EXISTS manutenzioni_migrate_step3 $$
|
|
CREATE PROCEDURE manutenzioni_migrate_step3()
|
|
BEGIN
|
|
DECLARE v_db VARCHAR(64);
|
|
SET v_db = DATABASE();
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema = v_db AND table_name = 'inv_equipment'
|
|
AND constraint_name = 'fk_inv_equipment_category') THEN
|
|
ALTER TABLE inv_equipment
|
|
ADD CONSTRAINT fk_inv_equipment_category FOREIGN KEY (category_id)
|
|
REFERENCES inv_categories (id) ON DELETE SET NULL;
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema = v_db AND table_name = 'inv_equipment'
|
|
AND constraint_name = 'fk_inv_equipment_line') THEN
|
|
ALTER TABLE inv_equipment
|
|
ADD CONSTRAINT fk_inv_equipment_line FOREIGN KEY (line_id)
|
|
REFERENCES production_lines (id) ON DELETE SET NULL;
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema = v_db AND table_name = 'inv_equipment'
|
|
AND constraint_name = 'fk_inv_equipment_department') THEN
|
|
ALTER TABLE inv_equipment
|
|
ADD CONSTRAINT fk_inv_equipment_department FOREIGN KEY (department_id)
|
|
REFERENCES departments (id) ON DELETE SET NULL;
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema = v_db AND table_name = 'inv_equipment'
|
|
AND constraint_name = 'fk_inv_equipment_cover') THEN
|
|
ALTER TABLE inv_equipment
|
|
ADD CONSTRAINT fk_inv_equipment_cover FOREIGN KEY (cover_file_id)
|
|
REFERENCES inv_equipment_files (id) ON DELETE SET NULL;
|
|
END IF;
|
|
END $$
|
|
|
|
DELIMITER ;
|
|
|
|
CALL manutenzioni_migrate_step3();
|
|
DROP PROCEDURE manutenzioni_migrate_step3;
|