Crear un CRUD en Appsmith
Un CRUD (Create, Read, Update, Delete) es la base de cualquier aplicación de gestión.
Preparación
Necesitas:
- Una base de datos conectada (PostgreSQL, MySQL, etc.)
- Una tabla con datos (ej:
products)
Paso 1: Conectar la base de datos
- En el panel izquierdo, clic en Datasources
- Clic en + New Datasource
- Selecciona PostgreSQL (u otra)
- Ingresa credenciales y Test conexión
- Save
Paso 2: Listar registros (Read)
Crear query
- Clic en + New Query
- Nombre:
getProducts - Query:
SELECT * FROM products ORDER BY created_at DESC
- Run para probar
Mostrar en tabla
- Arrastra widget Table al canvas
- En propiedades, Table Data:
{{getProducts.data}}
Paso 3: Crear registro (Create)
Query de inserción
INSERT INTO products (name, price, stock)
VALUES ('{{Input1.text}}', {{Input2.text}}, {{Input3.text}})
Formulario
- Arrastra: Input (nombre), Input (precio), Input (stock)
- Arrastra: Button "Crear"
- Button onClick: Execute query → insertProduct
- onSuccess: Execute query → getProducts (refrescar tabla)
Paso 4: Editar registro (Update)
Query de actualización
UPDATE products
SET name = '{{Input1.text}}', price = {{Input2.text}}
WHERE id = {{Table1.selectedRow.id}}
UI de edición
- Usa un Modal para el formulario de edición
- Al seleccionar fila en tabla, llena los inputs
- Button "Guardar" ejecuta updateProduct
Paso 5: Eliminar registro (Delete)
Query de eliminación
DELETE FROM products WHERE id = {{Table1.selectedRow.id}}
Botón eliminar
- Agrega columna de botón en la tabla
- onClick: Show confirmation → Execute deleteProduct
Validaciones
Agrega validaciones en los inputs:
- Required:
{{Input1.text.length > 0}} - Numérico:
{{!isNaN(Input2.text)}} - Rango:
{{Input3.text >= 0}}
Resultado final
Tu app debe tener:
- ✅ Tabla con datos
- ✅ Formulario para crear
- ✅ Modal para editar
- ✅ Botón para eliminar con confirmación
- ✅ Validaciones en inputs