inserting null on an autoincrement primary key prevents cleanup
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- php
- Domínio
- databases, testing-qa
Direção de pesquisa
Comece reproduzindo o caso haveInDatabase(table, ['id' => null, ...]) com uma chave primária autoincremental e, em seguida, rastreie como o ID inserido é registrado para o teardown cleanup. O trabalho estará concluído quando o valor da chave primária gerada for mantido e a linha inserida for removida durante o cleanup, sem quebrar os casos em que a coluna autoincremental não é a chave primária.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When I have a table with a primary key column that's also increment, it's valid to set it to null on the insert statement. the last insert it will then return the auto increment value, which is the primary key in that case.
As already noticed in #44, the auto increment column doesn't have to be part of the primary key, so the return value of last insert id ironically doesn't necessarily belong to the primary key. However, #44 also broke the case, which one might perceive as more common, that the last insert id may also be the primary key.
So, haveInDatabase(table, ['id' => null, ...]) with id as autoincrement and pk will lead to the id being set to null for cleanup, which results in the row not being removed at teardown.
I have prepared a fix for this case, which hopefully is specific enough to not interfere with other use cases.
- Linguagem predominante
- PHP
- Estrelas
- 23
- Forks
- 31
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Codeception/module-db
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
Codeception/module-db#87 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Codeception/module-db#85 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Codeception/module-db#68 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Codeception/module-db#67 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
Codeception/module-db#54 ·
Todas as issues de Codeception/module-db
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Leaked Sensitive InformationAberta
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
customer-support needs-triage Platform(Default)
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
grokability/snipe-it#19767 ·
Mantenedores costumam responder em até 1 dia