es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de ejecutar las pruebas de Behat, mi nueva migración se convierte en una versión antigua.

Tengo un nuevo archivo de migración que tiene una nueva columna. Lo he migrado tanto para mi base de datos principal como para la de prueba de la siguiente manera:

docker exec -it statisticsweb php bin/console doctrine:migrations:migrate
docker exec -it statisticsweb php bin/console doctrine:migrations:migrate –env=test

Mi tabla de prueba parece ser la siguiente:

Estoy ejecutando mi prueba de funcionalidades.

Estoy ejecutando la prueba de Behat de la siguiente manera:

docker exec -it statisticsweb vendor/behat/behat/bin/behat features/features/Report/master_game_report.feature:8

Devuelve un error como el siguiente:

Cuando ejecuto “INSERT INTO master_game_report (date, domain_id, game_id, currency, total_bet_amount, total_bet_count, total_win_amount, total_win_count, real_bet_amount, real_win_amount, bonus_bet_amount, bonus_win_amount) VALUES (‘2021-11-18 00:00:00’, 1, 1, ‘EUR’)”
# TestUtilities\Context\DatabaseContext::executeQuery()
Ocurrió una excepción mientras se ejecutaba ‘INSERT INTO master_game_report (date, domain_id, game_id, currency) VALUES (‘2021-11-18 00:00:00’, 1, 1, ‘EUR’)’:
SQLSTATE[42S22]: Columna no encontrada: 1054 Unknown column ‘currency’ in ‘field list’ (Doctrine\DBAL\Exception\InvalidFieldNameException)

╳ Fatal error: Call to a member function getValue() on null (Behat\Testwork\Call\Exception\FatalThrowableError)

└─ @AfterStep

Estoy mirando mi tabla de pruebas y parece que la columna de moneda ha desaparecido.

Estoy ejecutando:

docker exec -it statisticsweb php bin/console doctrine:migrations:migrate –env=test

// No hay migraciones para ejecutar.

Mi archivo behat.yml es:

¿Por qué se están deshaciendo los cambios que hice en mi tabla?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que los cambios que realizaste en tu tabla están siendo deshechos porque no has migrado los cambios a la base de datos de prueba. Necesitas ejecutar el comando docker exec -it statisticsweb php bin/console doctrine:migrations:migrate --env=test para migrar los cambios a la base de datos de prueba.

Comments are closed.