Comportamento por modelo

Versionamento, publicação e variantes são três chaves em cada modelo, e todas começam desligadas. Você liga as que os registros de um modelo precisam.

Três flags em cada modelo

Cada modelo tem três flags booleanas: versionamento, publicação e variantes. Você as define no console ao criar ou editar um modelo, ou como config as code, em foir.config.ts na chave do modelo config. O console liga os pré-requisitos para você, então a publicação traz o versionamento junto e as variantes trazem os dois.

Um modelo sem nenhuma delas

Com as três desligadas, os registros são lidos e gravados diretamente. Uma atualização substitui os dados no lugar e entra em vigor na hora. Isso serve para envios de formulário, reservas, configuração de aplicação, feature flags e contadores.

O que cada flag acrescenta

Qualquer uma das três torna o modelo versionado. Cada gravação passa a escrever uma versão, o que dá ao modelo seu histórico de versões e uma mutation de reversão. Publicação ou variantes também acrescentam as mutations de publicar, despublicar e agendar por trás dos rascunhos e da publicação agendada. A consulta pública de modelos informa o que está ativado no campo capabilities de cada modelo.

Mudando uma flag depois

Ligar uma flag migra os registros existentes do modelo. Desligar a última das três em um modelo que já tem registros é recusado. A mudança de uma flag faz parte do rascunho do modelo e chega à produção em uma release, em que desligar uma é sinalizado como breaking e ligar uma é sinalizado para revisão.

Leia os detalhes

O guia de modelos descreve cada flag de capacidade, o que ela exige e o que acontece com os registros existentes quando ela muda.