- Backend migrado a estructura VPS (src/ subfolder) - Frontend con estructura Vite + React 19 + Tailwind - Configuración PostgreSQL con Pool - API service con interceptores JWT - Ambos servidores funcionando (backend:3001, frontend:5173)
76 lines
1.7 KiB
SQL
76 lines
1.7 KiB
SQL
-- 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 $$;
|