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.