workspace/knowledge-base/reference/erp-inmobiliaria-legacy/gamilit/database/scripts/migrations/DB-125-add-pedagogical-columns.sql
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

62 lines
2.6 KiB
SQL

-- =====================================================
-- Migration: Add Pedagogical Content Columns to Exercises
-- Task: DB-125
-- Date: 2025-11-19
-- Description: Agrega 4 columnas TEXT para contenido pedagógico expandido
-- Scope: 15 ejercicios en módulos 1-3 (módulos 4-5 pendientes en DB-126)
-- Author: Database Agent
-- =====================================================
SET search_path TO educational_content, public;
-- Verificar que estamos en el schema correcto
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_schema = 'educational_content'
AND table_name = 'exercises'
) THEN
RAISE EXCEPTION 'Tabla educational_content.exercises no encontrada';
END IF;
END $$;
-- Agregar columnas (idempotente con IF NOT EXISTS)
ALTER TABLE educational_content.exercises
ADD COLUMN IF NOT EXISTS objective TEXT,
ADD COLUMN IF NOT EXISTS how_to_solve TEXT,
ADD COLUMN IF NOT EXISTS recommended_strategy TEXT,
ADD COLUMN IF NOT EXISTS pedagogical_notes TEXT;
-- Agregar comentarios (siempre se ejecutan)
COMMENT ON COLUMN educational_content.exercises.objective IS
'Objetivo pedagógico expandido del ejercicio (200-500 palabras). Describe qué aprenderá el estudiante y por qué es importante según el modelo de comprensión lectora de Daniel Cassany.';
COMMENT ON COLUMN educational_content.exercises.how_to_solve IS
'Guía detallada de cómo resolver el ejercicio (300-800 palabras). Pasos pedagógicos, estrategias de pensamiento, y consejos para completar exitosamente el ejercicio.';
COMMENT ON COLUMN educational_content.exercises.recommended_strategy IS
'Estrategias recomendadas para resolver eficientemente (100-300 palabras). Tips, trucos, y mejores prácticas para estudiantes.';
COMMENT ON COLUMN educational_content.exercises.pedagogical_notes IS
'Notas metodológicas para educadores (100-400 palabras). Contexto pedagógico, relación con competencias, y alineación con modelo Cassany.';
-- Validación post-migration
DO $$
DECLARE
col_count INTEGER;
BEGIN
SELECT COUNT(*)
INTO col_count
FROM information_schema.columns
WHERE table_schema = 'educational_content'
AND table_name = 'exercises'
AND column_name IN ('objective', 'how_to_solve', 'recommended_strategy', 'pedagogical_notes');
IF col_count = 4 THEN
RAISE NOTICE '✓ Migration DB-125 successful: 4 pedagogical columns added to exercises table';
ELSE
RAISE EXCEPTION '✗ Migration DB-125 failed: Expected 4 columns, found %', col_count;
END IF;
END $$;