32 lines
2.4 KiB
Markdown
32 lines
2.4 KiB
Markdown
# Seed de referências para produção
|
|
|
|
## O que é carregado
|
|
|
|
`DatabaseSeeder` chama `ProductionReferenceSeeder` em qualquer ambiente. O seeder carrega:
|
|
|
|
- setores e áreas de investimento versionados;
|
|
- opções de referência dos formulários;
|
|
- 1.921 referências territoriais com origem e checksum validados: 1 país, 11 províncias, 148 distritos, 437 postos administrativos e 1.324 localidades;
|
|
- projectos, clusters, corredores e fichas documentais da carteira versionada, mantidos como rascunhos.
|
|
|
|
O import é transaccional e repetível. Não substitui nomes, relações ou códigos quando encontra um registo territorial com o mesmo identificador mas conteúdo diferente; nesse caso aborta a transacção para revisão. Só promove de `internal` para `public` as referências pertencentes ao mesmo conjunto e com conteúdo idêntico, para disponibilizar os dropdowns autorizados.
|
|
|
|
Os ficheiros-fonte versionados são `database/data/territory-locations.json`, `database/data/investment-reference-options.json` e `database/data/investment-portfolio.json`. Os 69 registos territoriais antigos arquivados ficam fora do conjunto activo. O Excel original não é necessário no servidor.
|
|
|
|
## Aplicação
|
|
|
|
Depois de publicar o código e configurar PostgreSQL/PostGIS no destino, criar primeiro um backup recuperável e executar:
|
|
|
|
```sh
|
|
php artisan migrate --force
|
|
php artisan db:seed --force
|
|
```
|
|
|
|
Em produção, `DatabaseSeeder` termina depois de `ProductionReferenceSeeder`; não cria utilizadores de teste nem o investidor/projecto de exemplo. `SectorSeeder` cria apenas sectores em falta e os importadores da carteira preservam registos editados manualmente.
|
|
|
|
## Dados que não são seed
|
|
|
|
O conteúdo operacional da base (utilizadores, investidores, submissões, pedidos, sessões, auditoria, cache e outros registos criados pelos utilizadores) não deve ser convertido em PHP/JSON versionado nem copiado por `db:seed`. Deve ser transferido entre ambientes por backup/restauro ou por um plano de migração de dados com mapeamento, validação de privacidade e reconciliação de chaves. As oportunidades de demonstração de `OpportunitySeeder` também não são executadas em produção.
|
|
|
|
O seeder não foi executado contra produção durante a preparação deste pacote. A aplicação acima deve ocorrer no destino depois do backup, com revisão do relatório de colisões caso o conteúdo já existente divirja.
|