
CREATE SCHEMA IF NOT EXISTS ai;

CREATE TABLE IF NOT EXISTS ai.empleado_digital (
    LIKE public.empleado_digital INCLUDING ALL
);

TRUNCATE TABLE ai.empleado_digital;

INSERT INTO ai.empleado_digital
OVERRIDING SYSTEM VALUE
SELECT
    *
FROM public.empleado_digital;

SELECT setval(
    pg_get_serial_sequence('ai.empleado_digital', 'id_empleado'),
    COALESCE((SELECT MAX(id_empleado) FROM ai.empleado_digital), 1),
    COALESCE((SELECT MAX(id_empleado) FROM ai.empleado_digital), 0) > 0
);

CREATE TABLE IF NOT EXISTS ai.conocimientos_empleado_digital (
    LIKE public.conocimientos_empleado_digital INCLUDING ALL
);

TRUNCATE TABLE ai.conocimientos_empleado_digital;

INSERT INTO ai.conocimientos_empleado_digital
SELECT
    id,
    business_id,
    tipo_conocimiento,
    titulo,
    contenido,
    etiquetas,
    idioma,
    vector_busqueda,
    version,
    created_at,
    creado_por_login_id,
    updated_at,
    actualizado_por_login_id,
    soft_delete,
    soft_delete_date,
    clave_unica,
    sucursal,
    categorias,
    activo
FROM public.conocimientos_empleado_digital;

CREATE SEQUENCE IF NOT EXISTS ai.conocimientos_empleado_digital_id_seq
    AS bigint
    OWNED BY ai.conocimientos_empleado_digital.id;

ALTER TABLE ai.conocimientos_empleado_digital
    ALTER COLUMN id SET DEFAULT nextval('ai.conocimientos_empleado_digital_id_seq'::regclass);

SELECT setval(
    'ai.conocimientos_empleado_digital_id_seq',
    COALESCE((SELECT MAX(id) FROM ai.conocimientos_empleado_digital), 1),
    COALESCE((SELECT MAX(id) FROM ai.conocimientos_empleado_digital), 0) > 0
);

CREATE TABLE IF NOT EXISTS ai.analisis_conversacion (
    LIKE public.analisis_conversacion INCLUDING ALL
);

TRUNCATE TABLE ai.analisis_conversacion;

INSERT INTO ai.analisis_conversacion
SELECT
    *
FROM public.analisis_conversacion;

CREATE SEQUENCE IF NOT EXISTS ai.analisis_conversacion_id_analisis_seq
    AS integer
    OWNED BY ai.analisis_conversacion.id_analisis;

ALTER TABLE ai.analisis_conversacion
    ALTER COLUMN id_analisis SET DEFAULT nextval('ai.analisis_conversacion_id_analisis_seq'::regclass);

SELECT setval(
    'ai.analisis_conversacion_id_analisis_seq',
    COALESCE((SELECT MAX(id_analisis) FROM ai.analisis_conversacion), 1),
    COALESCE((SELECT MAX(id_analisis) FROM ai.analisis_conversacion), 0) > 0
);

CREATE TABLE IF NOT EXISTS ai.estadisticas_costos_ia (
    LIKE public.estadisticas_costos_ia INCLUDING ALL
);

TRUNCATE TABLE ai.estadisticas_costos_ia;

INSERT INTO ai.estadisticas_costos_ia
SELECT
    *
FROM public.estadisticas_costos_ia;

CREATE SEQUENCE IF NOT EXISTS ai.estadisticas_costos_ia_id_seq
    AS integer
    OWNED BY ai.estadisticas_costos_ia.id;

ALTER TABLE ai.estadisticas_costos_ia
    ALTER COLUMN id SET DEFAULT nextval('ai.estadisticas_costos_ia_id_seq'::regclass);

SELECT setval(
    'ai.estadisticas_costos_ia_id_seq',
    COALESCE((SELECT MAX(id) FROM ai.estadisticas_costos_ia), 1),
    COALESCE((SELECT MAX(id) FROM ai.estadisticas_costos_ia), 0) > 0
);

ANALYZE ai.empleado_digital;
ANALYZE ai.conocimientos_empleado_digital;
ANALYZE ai.analisis_conversacion;
ANALYZE ai.estadisticas_costos_ia;

