Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Alterando as models

Olá, estou com uma dúvida quanto ao procedimento de migração.

Já executei os comandos:

  • python manage.py makemigrations e python manage.py migrate

Mas esqueci de incluir um campo ao meu arquivo models.py, fiz a alteração que faltava e executei os comandos novamente, mais especificamente o primeiro (makemigrations) me deparo com a seguinte mensagem:

You are trying to add a non-nullable field 'cod_empresa' to empresa without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit, and let me add a default in models.py
Select an option: 

Qual opção selecionar?

3 respostas
solução!

Oi Gustavo, tudo bem?

O que acontece é que você já tem registros no banco e adicionou um novo campo "não nulo", então ele precisa de algum valor default pra colocar nos registros já existentes... Então pode selecionar a opção 1 e adicionar o cod_empresa padrão aos registros existentes... Ou cancelar e colocar um padrão no models do Django... Ou tornar o campo nulo ("null=True") no campo... Ou limpar os dados na tabela.

Fala Erick,

Muito obrigado. Consegui resolver selecionando a opção 1 e dando um valor default pra ele (' ')

Boa! De nada.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software