-- Agregar campo codigo si no existe ALTER TABLE categories ADD COLUMN IF NOT EXISTS codigo VARCHAR(10); -- Crear categoría de ejemplo si no existe INSERT INTO categories (nombre, slug, descripcion, codigo, orden) VALUES ('Electrónica', 'electronica', 'Productos electrónicos y tecnología', 'ELEC', 1) ON CONFLICT (slug) DO NOTHING; -- Obtener el ID de la categoría DO $$ DECLARE cat_id INTEGER; prod_id INTEGER; BEGIN -- Buscar categoría SELECT id INTO cat_id FROM categories WHERE slug = 'electronica'; -- Crear producto de ejemplo INSERT INTO products ( sku, nombre, descripcion, category_id, precio_base, peso_gramos, alto_cm, ancho_cm, largo_cm, is_active ) VALUES ( 'ELEC-001', 'Mouse Inalámbrico Logitech M185', 'Mouse inalámbrico con sensor óptico de alta precisión, batería de larga duración (hasta 12 meses), receptor nano USB. Color negro.', cat_id, 12990, 85, 3.8, 6.2, 10.5, true ) ON CONFLICT (sku) DO UPDATE SET nombre = EXCLUDED.nombre, descripcion = EXCLUDED.descripcion, precio_base = EXCLUDED.precio_base RETURNING id INTO prod_id; -- Crear inventario inicial INSERT INTO inventory (product_id, stock_actual, stock_minimo) VALUES (prod_id, 25, 5) ON CONFLICT (product_id) DO UPDATE SET stock_actual = 25; -- Registrar movimiento de inventario INSERT INTO inventory_movements ( product_id, tipo, cantidad, cantidad_anterior, cantidad_nueva, notas ) VALUES ( prod_id, 'entrada', 25, 0, 25, 'Stock inicial de ejemplo' ); RAISE NOTICE 'Producto creado exitosamente: ELEC-001 con 25 unidades en stock'; END $$;