ALTER TABLE "plan_suscripcion" DROP CONSTRAINT "plan_suscripcion_calidad_escucha_conocida";--> statement-breakpoint ALTER TABLE "plan_suscripcion" ALTER COLUMN "calidad_escucha" DROP NOT NULL;--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD COLUMN "ambito" text DEFAULT 'musica' NOT NULL;--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD COLUMN "acceso_contenido_taller" boolean DEFAULT false NOT NULL;--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD COLUMN "descarga_material_taller" boolean DEFAULT false NOT NULL;--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_ambito_conocido" CHECK ("plan_suscripcion"."ambito" in ('musica', 'taller_letras'));--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_capacidades_segun_ambito" CHECK (( "plan_suscripcion"."ambito" = 'musica' and "plan_suscripcion"."calidad_escucha" is not null and not "plan_suscripcion"."acceso_contenido_taller" and not "plan_suscripcion"."descarga_material_taller" ) or ( "plan_suscripcion"."ambito" = 'taller_letras' and "plan_suscripcion"."calidad_escucha" is null and not "plan_suscripcion"."incluye_publicidad" and "plan_suscripcion"."descargas_incluidas" = 0 and "plan_suscripcion"."calidad_descarga" is null and not "plan_suscripcion"."acceso_versiones" ));--> statement-breakpoint ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_calidad_escucha_conocida" CHECK ("plan_suscripcion"."calidad_escucha" is null or "plan_suscripcion"."calidad_escucha" in ('media', 'alta')); --> statement-breakpoint UPDATE "plan_suscripcion" SET "descripcion" = CASE "codigo" WHEN 'follower' THEN 'Para descubrir el catálogo a tu ritmo, crear tus listas y apoyar el proyecto desde el primer día.' WHEN 'friend' THEN 'Una escucha sin interrupciones para quienes quieren llevarse sus canciones favoritas.' WHEN 'vip' THEN 'La experiencia musical más completa: más descargas y acceso a las distintas versiones de cada canción.' END, "prestaciones" = '["Favoritos y listas de reproducción"]'::jsonb, "actualizado_en" = now() WHERE "codigo" IN ('follower', 'friend', 'vip'); --> statement-breakpoint INSERT INTO "plan_suscripcion" ( "id", "codigo", "nombre", "descripcion", "nivel", "precio_centimos", "moneda", "periodicidad", "intervalos", "ambito", "incluye_publicidad", "calidad_escucha", "descargas_incluidas", "calidad_descarga", "acceso_versiones", "acceso_contenido_taller", "descarga_material_taller", "prestaciones", "estado" ) VALUES ( '08af3913-6788-47b9-ad50-ce2371d0f05d', 'taller-letras', 'Taller de letras', 'Un año para profundizar en la escritura de canciones, avanzar a tu ritmo y conservar todos los materiales.', 1, 990, 'eur', 'ano', 1, 'taller_letras', false, null, 0, null, false, true, true, '["Aprendizaje a tu ritmo"]'::jsonb, 'disponible' ) ON CONFLICT ("codigo") DO UPDATE SET "nombre" = EXCLUDED."nombre", "descripcion" = EXCLUDED."descripcion", "nivel" = EXCLUDED."nivel", "precio_centimos" = EXCLUDED."precio_centimos", "moneda" = EXCLUDED."moneda", "periodicidad" = EXCLUDED."periodicidad", "intervalos" = EXCLUDED."intervalos", "ambito" = EXCLUDED."ambito", "incluye_publicidad" = EXCLUDED."incluye_publicidad", "calidad_escucha" = EXCLUDED."calidad_escucha", "descargas_incluidas" = EXCLUDED."descargas_incluidas", "calidad_descarga" = EXCLUDED."calidad_descarga", "acceso_versiones" = EXCLUDED."acceso_versiones", "acceso_contenido_taller" = EXCLUDED."acceso_contenido_taller", "descarga_material_taller" = EXCLUDED."descarga_material_taller", "prestaciones" = EXCLUDED."prestaciones", "estado" = EXCLUDED."estado", "actualizado_en" = now();