🗄️ Files de Post

Tabela auxiliar que armazena files dos posts.
🔗 Tabela relacionada: posts

📋 13 colunas 🔗 1 relacionamentos 🎮 8 controles 👁️ view_posts_files 🔑 PRIMARY KEY 🎮 1 ações externas

📋 Estrutura da Tabela

A tabela posts_files possui 13 colunas.

🔑 Id PRIMARY KEY
🔑 PRIMARY KEY🔒 Somente leitura💾 Grava
Campo Tabela id
Campo VIEW / Exibido id_post_file 🔹 Alias na VIEW: id_post_file
Tipo number (readonly - PRIMARY KEY)
Data Table posts_files
Descrição

Campo id

🔑 PRIMARY KEY

Campo na tabela: id

Alias na VIEW: id_post_file

Readonly: ✅ Gerado automaticamente pelo sistema

📤 cloud_upload: Enviar arquivos Coleta
📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id
  • Alias OndeVou id_post_file
  • Tabela OndeVou posts_files
🎮 Controls Acao
  • {
      "cloud_upload": {
        "acao": "uploadFilesEntidadeSelect",
        "messagem": "Vínculos"
      }
    }
  • Alias: id_post_file
  • Tabelas: posts_files ✅
  • ControlsAcao: ✓
  • 🔑 PRIMARY KEY
  • VIEW: id_post_file
📋 Participante
🔒 Somente leitura💾 Grava
Campo Tabela participante
Campo VIEW / Exibido participante
Tipo text
Data Table posts_files
Descrição

Campo participante

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
⚙️ Comportamento
  • Valor padrão 1
📊 Dados
  • Campo OndeVou participante
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
  • Value: 1
📋 Data hora inclusão
🔒 Somente leitura📋 Somente view
Campo Tabela data_hora_inclusao
Campo VIEW / Exibido data_hora_inclusao ⚠️ (somente view)
Tipo date
Data Table view_posts_files
Descrição

Campo data hora inclusão

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou data_hora_inclusao
  • Tabela OndeVou view_posts_files
  • Tabelas: view_posts_files (só view)
📋 Id post
🔒 Somente leitura💾 Grava
Campo Tabela id_post
Campo VIEW / Exibido id_post
Tipo number
Data Table posts_files
Descrição

Campo id post

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_post
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
📋 Descrição
💾 Grava
Campo Tabela descricao
Campo VIEW / Exibido descricao
Tipo text
Data Table posts_files
Descrição

Digite algo sobre a foto ou video..

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
  • Placeholder Digite algo sobre a foto ou video..
Validacao
  • Auto-foco ✅ Sim
📊 Dados
  • Campo OndeVou descricao
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
  • Placeholder: Digite algo sobre a foto ou video..
📋 Nome do arquivo
🔒 Somente leitura💾 Grava
Campo Tabela nome_arquivo
Campo VIEW / Exibido nome_arquivo
Tipo text
Data Table posts_files
Descrição

Campo nome do arquivo

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_arquivo
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
📋 arquivo_old
🔒 Somente leitura💾 Grava
Campo Tabela arquivo_old
Campo VIEW / Exibido nome_arquivo
Tipo text
Data Table posts_files
Descrição

Campo arquivo old

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou arquivo_old
  • Alias OndeVou nome_arquivo
  • Tabela OndeVou posts_files
  • Alias: nome_arquivo
  • Tabelas: posts_files ✅
📋 Membro
🔒 Somente leitura💾 Grava🔗 getdata
Campo Tabela id_membro
Campo VIEW / Exibido nome_membro (ID: id_membro)
Tipo number (getdata)
Data Table posts_files
Descrição

Campo membro

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_membro
  • ID OndeVou id_membro
  • Tabela OndeVou posts_files
🔗 Getdata
  • {
      "view": "view_membros",
      "data": "view_membros",
      "campo-data-id": "id_membro",
      "campo-data-value-input": "nome_membro",
      "campo-data-input-select-view": "nome_membro,email_membro",
      "query": {
        "select": "* from view_membros",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_membro,` `,nome_membro,` `,email_membro))) ilike `%",
              "right": "%`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_membro
  • Tabelas: posts_files ✅
  • FormSearch: ✓
📋 Pasta destino
🔒 Somente leitura👁️ Oculto📋 Somente view
Campo Tabela pasta_destino
Campo VIEW / Exibido pasta_destino ⚠️ (somente view)
Tipo text
Data Table no_database
Descrição

Campo pasta destino

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
⚙️ Comportamento
  • Valor padrão /files/posts/
📊 Dados
  • Campo OndeVou pasta_destino
  • Tabela OndeVou no_database
  • Tabelas: no_database (só view)
  • Hidden: ✓ (dados ocultos)
  • Value: /files/posts/
📋 Latitude
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela latitude
Campo VIEW / Exibido latitude
Tipo number
Data Table posts_files
Descrição

Campo latitude

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou latitude
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
  • Hidden: ✓ (dados ocultos)
📋 Longitude
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela longitude
Campo VIEW / Exibido longitude
Tipo number
Data Table posts_files
Descrição

Campo longitude

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou longitude
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
  • Hidden: ✓ (dados ocultos)
📋 Ip
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela ip
Campo VIEW / Exibido ip
Tipo text
Data Table posts_files
Descrição

Campo ip

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou ip
  • Tabela OndeVou posts_files
  • Tabelas: posts_files ✅
  • Hidden: ✓ (dados ocultos)
📋 Data
🔒 Somente leitura👁️ Oculto📋 Somente view
Campo Tabela data_inclusao
Campo VIEW / Exibido data_inclusao ⚠️ (somente view)
Tipo date
Data Table view_posts_files
Descrição

Campo data

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou data_inclusao
  • Tabela OndeVou view_posts_files
  • Tabelas: view_posts_files (só view)
  • Hidden: ✓ (dados ocultos)
📌 Legenda: 🔑 PRIMARY KEY ✅ Obrigatório 🔒 Somente leitura 👁️ Oculto 💾 Grava 📋 Somente view 🔗 getdata 📝 putdata 🔢 AutoInc 📱 QR Code 📋 Auditoria 📱 GetCollector

🔗 Relacionamentos

Tabelas relacionadas via getdata.

membros · Principal: Membro 📄

🔍 Filtros (formsearch)

Campos disponíveis para filtragem na busca.

Data Inicial date
Data Final date

🎮 Controles Disponíveis

Ações que o usuário pode realizar na tabela.

📂 Controle
🔘 Info info 🔘 Marker marker 🔘 Cloud_Upload cloud_upload 🔘 Add add 🔘 Copy copy 💾 Salvar save 🔘 Delete delete 🔘 Remove remove

👁️ View Associada

Nome: view_posts_files

🔑 PRIMARY KEY - Campo Id

O campo Id é a chave primária da tabela posts_files.

Configuração

'Id': {
    'input': {
        'readonly': 'readonly',
        'data-type-ondevou': 'number',
        'data-field-ondevou': 'id',
        "data-field-alias-ondevou": "id_post_file",
        'data-table-ondevou': 'posts_files'
    }
}

Comportamento

  • 🔒 Readonly: Campo não editável
  • 📊 Tipo: number
  • 🔹 Alias na VIEW: id_post_file

🎮 Controls-Ação

📂 Coleta
cloud_upload: Enviar arquivos uploadFilesEntidadeSelect

💾 JSON da Tabela

Estrutura completa em JSON para integração com APIs e IAs.

code Clique para ver o JSON completo 5 KB
{
  "table-id": "posts_files",
  "data-table-ondevou": "posts_files",
  "data-table-update": "sim",
  "readonly": "nao",
  "table-class": "highlight",
  "putdata": {
    "inputsExtras": "participante,latitude,longitude,ip,id_membro",
    "trigger": "uploadFilesEntidadeSend(this)"
  },
  "controls": [
    "info",
    "marker",
    "cloud_upload",
    "add",
    "copy",
    "save",
    "delete",
    "remove"
  ],
  "html": {
    "div": {
      "before": "",
      "after": ""
    }
  },
  "headers": {
    "Id": {
      "width": "10%"
    },
    "Participante": {
      "width": "100px"
    },
    "Data hora inclusão": {
      "width": "10%"
    },
    "Id post": {
      "width": "10%"
    },
    "Descrição": {
      "type": "text",
      "width": "20%"
    },
    "Nome do arquivo": {
      "width": "20%"
    },
    "arquivo_old": {
      "width": "20%"
    },
    "Membro": {
      "width": "20%"
    },
    "Pasta destino": {
      "type": "hidden"
    },
    "Latitude": {
      "type": "hidden"
    },
    "Longitude": {
      "type": "hidden"
    },
    "Ip": {
      "type": "hidden"
    },
    "Data": {
      "type": "hidden"
    }
  },
  "columns": {
    "Id": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id",
        "data-field-alias-ondevou": "id_post_file",
        "data-table-ondevou": "posts_files",
        "controls-acao": {
          "cloud_upload": {
            "acao": "uploadFilesEntidadeSelect",
            "messagem": "Vínculos"
          }
        }
      }
    },
    "Participante": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "participante",
        "value": "1",
        "data-table-ondevou": "posts_files"
      }
    },
    "Data hora inclusão": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "data_hora_inclusao",
        "data-table-ondevou": "view_posts_files"
      }
    },
    "Id post": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_post",
        "data-table-ondevou": "posts_files"
      }
    },
    "Descrição": {
      "input": {
        "data-type-ondevou": "text",
        "data-field-ondevou": "descricao",
        "placeholder": "Digite algo sobre a foto ou video..",
        "autofocus": "autofocus",
        "data-table-ondevou": "posts_files"
      }
    },
    "Nome do arquivo": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "nome_arquivo",
        "data-table-ondevou": "posts_files"
      }
    },
    "arquivo_old": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "arquivo_old",
        "data-field-alias-ondevou": "nome_arquivo",
        "data-table-ondevou": "posts_files"
      }
    },
    "Membro": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_membro",
        "data-field-ondevou": "nome_membro",
        "data-table-ondevou": "posts_files",
        "formsearch": {
          "required": ""
        },
        "getdata": "{\"view\":\"view_membros\",\"data\":\"view_membros\",\"campo-data-id\":\"id_membro\",\"campo-data-value-input\":\"nome_membro\",\"campo-data-input-select-view\":\"nome_membro,email_membro\",\"query\":{\"select\":\"* from view_membros\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_membro,` `,nome_membro,` `,email_membro))) ilike `%\",\"right\":\"%`)\"}}}}}"
      }
    },
    "Pasta destino": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "pasta_destino",
        "value": "/files/posts/",
        "data-table-ondevou": "no_database"
      }
    },
    "Latitude": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "latitude",
        "data-table-ondevou": "posts_files"
      }
    },
    "Longitude": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "longitude",
        "data-table-ondevou": "posts_files"
      }
    },
    "Ip": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "ip",
        "data-table-ondevou": "posts_files"
      }
    },
    "Data": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "data_inclusao",
        "data-table-ondevou": "view_posts_files"
      }
    }
  },
  "formsearch": {
    "data-table-ondevou": "view_posts_files",
    "data-view-ondevou": "view_posts_files",
    "data-where-fixed": "participante=`1`",
    "input": {
      "data_inicial": {
        "data-field-ondevou": "data_inicial",
        "data-type-ondevou": "date",
        "type": "date",
        "class": "datepicker",
        "texto_label": "Data Inicial",
        "data-field-where": "data"
      },
      "data_final": {
        "data-field-ondevou": "data_final",
        "data-type-ondevou": "date",
        "type": "date",
        "class": "datepicker",
        "texto_label": "Data Final",
        "data-field-where": "data"
      }
    }
  },
  "url_documentacao": "/docs/ondevou-db-posts_files.html",
  "nome_tabela": "posts_files"
}

📝 SQL CREATE TABLE - Estrutura Completa

Comando SQL COMPLETO para criar a tabela posts_files no PostgreSQL. Esta estrutura foi extraída DIRETAMENTE do banco de dados.

🏗️ Estrutura Completa

📋 11 colunas 🔗 2 constraints 📑 6 índices ⚡ 0 triggers
code Clique para ver o SQL completo ✅ COMPLETO
-- ============================================================
-- ESTRUTURA COMPLETA DA TABELA posts_files
-- Fonte: PostgreSQL - 12/08/2026 10:24:39
-- ============================================================

CREATE TABLE public.posts_files (
    id integer NOT NULL DEFAULT nextval('posts_files_id_seq'::regclass),
    id_post integer,
    participante integer,
    id_membro integer,
    latitude numeric(25, 20),
    longitude numeric(25, 20),
    ip varchar(255),
    descricao text,
    nome_arquivo text,
    data timestamp DEFAULT now(),
    ordem integer,
    CONSTRAINT posts_files_pkey PRIMARY KEY (id),
    CONSTRAINT 2200_221843_1_not_null CHECK (id IS NOT NULL)
);

-- ============================================================
-- ÍNDICES
-- ============================================================
CREATE INDEX idx_posts_files_id_membro ON public.posts_files USING btree (id_membro);
CREATE INDEX idx_posts_files_id_post ON public.posts_files USING btree (id_post);
CREATE INDEX idx_posts_files_p_data ON public.posts_files USING btree (participante, data DESC);
CREATE INDEX idx_posts_files_p_id ON public.posts_files USING btree (participante, id DESC);
CREATE INDEX idx_posts_files_participante ON public.posts_files USING btree (participante);
CREATE UNIQUE INDEX posts_files_pk_id ON public.posts_files USING btree (id);

SQL extraído DIRETAMENTE do banco de dados

📊 Comparação: JSON Config vs Banco Real

Verifique se a configuração JSON está sincronizada com a estrutura do banco de dados.

Campo Tipo (JSON) Tipo (Banco) Status
arquivo_old text - ⚠️ Só no JSON
data - timestamp without time zone ❌ Só no banco
data_hora_inclusao date - ⚠️ Só no JSON
data_inclusao date - ⚠️ Só no JSON
descricao text text ✅ OK
id number integer ✅ OK
id_membro - integer ❌ Só no banco
id_post number integer ✅ OK
ip text character varying ✅ OK
latitude number numeric ✅ OK
longitude number numeric ✅ OK
nome_arquivo text text ✅ OK
nome_membro number - ⚠️ Só no JSON
ordem - integer ❌ Só no banco
participante text integer ✅ OK
pasta_destino text - ⚠️ Só no JSON

💡 Dica: Use esta comparação para garantir que a configuração JSON está atualizada com a estrutura do banco.
📌 Legenda: ✅ OK = presente em ambos | ⚠️ Só no JSON = pode ser um campo virtual | ❌ Só no banco = falta adicionar ao JSON

💡 Como Popular a Tabela

Exemplo prático usando o padrão OndeVou.

📋 Fluxo completo padrão

// 1. Buscar dados com getData
var dados_retorno = getData({
    'query': `SELECT * FROM view_posts_files WHERE participante = ${globais.dados_fixo.participante}`,
    'view': 'view_posts_files'
});

// 2. Definir painel e slide
var painel = globais.dados_pagina.visivel.painel;
var slide = globais.dados_pagina.visivel.slide;

// 3. Encontrar a tabela no DOM
var idTable = getIdTableFromSlide({ 'table-id': 'posts_files' });

// 4. Resetar a tabela
setTableControlsReset(idTable);

// 5. Popular a tabela
setTableControlsSetValue(idTable, dados_retorno);

🏆 Propriedade Intelectual

OndeVou.com Marca Registrada

Marca Registrada

OndeVou.com®

Propriedade Intelectual Assegurada

Processo INPI:
908765967
Titular:
ONDEVOU.COM TECNOLOGIA LTDA
CNPJ:
17.058.605/0001-36
Classificação:
Classe 42 - Serviços de TI