2.4 KiB
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:
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.