Explain schema changes as a deployment step, not a run-time operation

Aberta Para iniciantes
#306 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
80/100
Tipo de issue
Documentação
Clareza
Claramente especificada
Status de atividade
Ativa
Domínio
documentation

Direção de pesquisa

Comece por how-to/deploy-production.md e revise a explicação existente de create_tables=False. Adicione uma página ou seção que explique as alterações de esquema como uma etapa controlada da implantação, incluindo o conteúdo de Lookup, allow_ddl, logins separados do banco de dados e o que permanece inalterado para o uso interativo. O trabalho estará concluído quando o guia cobrir os pontos listados e estiver pronto para ser publicado com a configuração.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

The docs describe create_tables=False for production (how-to/deploy-production.md), but don't explain the principle behind it.

Proposal

Add an explanation page, or a section of the production guide, covering:

  • The principle. A schema change (declaring a table, altering or dropping it, changing a Lookup table's contents) is part of deploying new code. It is applied once, in a controlled step, before processes start running the new code.
  • Lookup contents count as schema. They change with the code, not at run time.
  • Why it matters. Run-time declaration is convenient for interactive work, but in a shared database it means whichever process imports new code first changes the schema, unreviewed. A table and the code that fills it should change together, at a known moment.
  • How to set it up. The allow_ddl setting (datajoint/datajoint-python#1649), separate database logins for deployment and for run time, and the deployment step that applies the changes.
  • What stays the same for interactive use. The defaults keep today's convenience.

This page should land in the same release as the setting.

Linguagem predominante
Jupyter Notebook
Estrelas
7
Forks
12
Merge médio
8d 12h
PRs com merge (30d)
3

Preparar o ambiente

  • Inclui um Dockerfile ou arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de datajoint/datajoint-docs

Todas as issues de datajoint/datajoint-docs

Issues semelhantes

Mais issues de Documentation

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.