dgterritorio / RECART

GNU Affero General Public License v3.0
24 stars 15 forks source link

O uso do schema public é obrigatório? #203

Open SrNetoChan opened 7 months ago

SrNetoChan commented 7 months ago

Tendo em conta algumas das características do schema public:

Pergunto se para a @dgterritorio em termos de homologação, é obrigatório que o dados estejam no schema public, ou podem ser entregues noutros schemas.

Na prática, a não obrigatoriedade abriria a porta a guardar mais do que um projecto ou versões de um projecto na mesma base de dados, podendo, antes de efectuar o backup eliminar os schemas desnecessários. E Tornaria mais fácil a utilização de sistemas de versionamento como por exemplo o kart.

Obrigado

dgterritorio commented 7 months ago

Notar que o schema "public" não permite a visualização do conteúdo das tabelas ou vistas a utilizadores que não tenham privilégios específicos, portanto os dados que estão neste schema não são propriamente públicos.

Admitimos que, em termos operacionais, a não obrigatoriedade dos dados estarem no schema "public" poderia facilitar o trabalho, nomeadamente na gestão das versões.

No entanto, em termos da homologação, todo o workflow de submissão dos processos, validação, etc. está baseado no schema "public" não estando prevista qualquer alteração neste sentido.

SrNetoChan commented 7 months ago

Percebido. Ainda assim, estariam abertos a um Pull Request no âmbito de tornar o recart.ddl menos dependente do schema public? Isto é, por omissão seria usado o schema public, mas tornar o script genérico (sem referências ao schema).

dgterritorio commented 7 months ago

Sim, pode fazer o Pull Request.

Obrigado pela colaboração.

SrNetoChan commented 7 months ago

Uma outra vantagem do uso de outro schema que não o public é o facto de este schema, na versão 15 do postgresql, deixar de ter permissões de escrita generalizadas. Para além disso, separar a instalação das extensões postgis e uuid, do restante poderia permitir que qualquer utilizador não superuser, pudesse criar uma nova "base de dados" recart (um nov schema) sem a necessidade de ser superuser ou owner da base de dados.