diff --git a/src/database/migration/20260408200000_cria_view_splinker.ts b/src/database/migration/20260408200000_cria_view_splinker.ts index 8484c68..be9f89f 100644 --- a/src/database/migration/20260408200000_cria_view_splinker.ts +++ b/src/database/migration/20260408200000_cria_view_splinker.ts @@ -8,7 +8,10 @@ export async function run(knex: Knex): Promise { await knex.raw(` CREATE OR REPLACE FUNCTION fn_barcodes_tombo(p_hcf bigint) RETURNS text AS $$ - SELECT string_agg('[BARCODE=' || codigo_barra || ']', ' , ') + SELECT CASE + WHEN COUNT(*) = 0 THEN NULL + ELSE '[BARCODE=' || string_agg(codigo_barra, ',' ORDER BY codigo_barra) || ']' + END FROM tombos_fotos WHERE tombo_hcf = p_hcf; $$ LANGUAGE sql STABLE; @@ -29,7 +32,7 @@ export async function run(knex: Knex): Promise { END AS "Family", COALESCE(g.nome, '') AS "Genus", COALESCE(e.nome, '') AS "Species", - COALESCE(se.nome, '') AS "Subspecies", + '' AS "Subspecies", COALESCE(a.nome, '') AS "ScientificNameAuthor", COALESCE(t.nomes_populares, '') AS "CommonName", '' AS "FieldNumber", @@ -80,7 +83,6 @@ export async function run(knex: Knex): Promise { LEFT JOIN reinos r ON f.reino_id = r.id LEFT JOIN generos g ON t.genero_id = g.id LEFT JOIN especies e ON t.especie_id = e.id - LEFT JOIN sub_especies se ON se.id = t.sub_especie_id LEFT JOIN autores a ON e.autor_id = a.id LEFT JOIN coletores col ON t.coletor_id = col.id LEFT JOIN coletores_complementares cc ON cc.hcf = t.hcf