Fusos Horários¶
Visão Geral¶
Suportes de Vinyl mostrando DateTime
campos no fuso horário local do usuário. O Time Zone
a configuração no Vinyl para uma fonte de dados deve corresponder ao fuso horário da fonte de dados. Normalmente, isso é definido da mesma forma que o fuso horário da própria máquina. Em ambos os casos, o fuso horário definido para uma fonte de dados deve corresponder ao fuso horário esperado retornado ao executar um Now()
declaração no banco de dados.
Cuidado
A recomendação é que o servidor de aplicação Vinyl e os servidores de banco de dados sejam configurados com o mesmo fuso horário. Esses servidores precisam estar sincronizados. Versões futuras do Vinyl podem se recusar a executar se os relógios entre o servidor de aplicativos e o servidor de banco de dados estiverem fora de sincronia.
Configuração¶
Existem dois locais que Time Zone
pode ser configurado:
- Servidor de fonte de dados
- Fonte de dados
O Time Zone
configuração usa fusos horários da IANA (por exemplo, America/New_York
).
Servidor de Fonte de Dados¶
Configurando um Servidor de fonte de dados Time Zone
, todas as Fontes de dados recém-criadas* neste servidor serão configuradas com o mesmo Time Zone
. Fontes de dados existentes não são afetadas.
Etapas de Configuração¶
- Navegue até IDE > Servidores de dados
- Localize seu Servidor de Dados e clique no botão Detalhes correspondente
- Vá para Mais > Caso Edge
- Clique em Editar
- Configurar o Fuso horário da fonte de dados padrão
- Clique em Salvar
Fonte de Dados¶
Ao configurar um Time Zone
em uma fonte de dados, todos DateTime
os campos serão renderizados de acordo com o fuso horário local do usuário.
Etapas de Configuração¶
- Navegue até IDE > Servidores de dados
- Selecione o Servidor de dados apropriado
- Localize a Fonte de dados apropriada e clique no botão Detalhes correspondente
- Clique no botão Configurações avançadas
- Clique em Editar
- Selecione o Fuso Horário apropriado
- Clique em Salvar
Impacto¶
Todos DateTime
os campos serão mostrados no fuso horário do usuário depois que um fuso horário for definido em uma Fonte de dados. Isso afetará o seguinte:
- Mesa
DateTime
colunas. - Objeto de negócios
DateTime
colunas. - Regra
DateTime
colunas (Bridges, CRUD, Validações, Webhooks, etc). - Controles de página vinculados a um dos itens acima
DateTime
colunas. - Tela dinâmica de Resultados para todos os itens acima.
Para Business Objects e Rules, a Fonte de dados de destino Time Zone
Será seguido.
Além disso, Auditoria Completa e Auditoria Lite DateTime
campos levarão em consideração a fonte de dados Time Zone
. Isto pode causar uma divergência dos dados históricos. Para lidar com isso de maneira mais simples, consulte o Migração de data recurso que migrará todos os dados existentes para o novo Time Zone
.
Determinando o Fuso Horário do Usuário¶
O Vinyl segue estas etapas de ordem de prioridade para determinar o fuso horário do usuário:
- Primeiro, verifique se o perfil do usuário possui um
Time Zone
contexto. Se sim, use-o. - Caso contrário, tente obter o navegador
Time Zone
contexto. - Por último, tente obter o navegador
Time Zone Offset
contexto.
Se nenhuma das configurações acima estiver disponível, o fuso horário do usuário será padronizado como o fuso horário do servidor de aplicativos Vinyl.
Anotações Importantes¶
- Definir um
Time Zone
não afeta nenhum dado existente em uma Fonte de dados. SeDateTime
os dados precisam ser ajustados de um fuso horário para outro (por exemplo, dados de auditoria), o Date Migration o recurso deve ser usado. - O ajuste de
DateTime
dados para o fuso horário do usuário é uma mudança puramente superficial. As datas de saída para um cliente são ajustadas às necessidades do usuárioTime Zone
. As datas enviadas de um cliente para o servidor são ajustadas de volta para o servidorTime Zone
antes de qualquer regra do Vinyl ser executada. - Além disso,
DateTime
os dados CRUD de uma fonte de dados para outra não serão ajustados de forma alguma. Novamente, esta é uma mudança puramente superficial que só impacta oDateTime
visto por um cliente. - Tome cuidado para que a tela de Resultados Dinâmicos seja impactada pelo
Time Zone
contexto. Isso significa que um desenvolvedor pode ver uma visão diferenteDateTime
na tela Vinyl Results do que em um visualizador direto de banco de dados como o SQL Server Management Studio.