Opened 2 years ago

Last modified 11 months ago

#25540 new Bug

Reusing databases doesn't work on PostgreSQL for migrations tests

Reported by: Anssi Kääriäinen Owned by: nobody
Component: Migrations Version: master
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Claude Paroz)

Running migrations tests with keepdb results in failures for the second run. To reproduce:

./runtests.py --settings=<your_postgresql_settings> --keepdb migrations
# success
./runtests.py --settings=<your_postgresql_settings> --keepdb migrations
# Lots of failures.

Attachments (1)

25540-init.diff (2.7 KB) - added by Tim Graham 11 months ago.

Download all attachments as: .zip

Change History (4)

comment:1 Changed 2 years ago by Claude Paroz

Description: modified (diff)
Triage Stage: UnreviewedAccepted

This also happens on 1.8.

comment:2 Changed 2 years ago by Claude Paroz

Description: modified (diff)

Changed 11 months ago by Tim Graham

Attachment: 25540-init.diff added

comment:3 Changed 11 months ago by Tim Graham

Component: Testing frameworkMigrations

I attached a patch to get someone started. I used the following workflow:

./runtests.py --settings=test_postgres migrations --parallel=1 --noinput --keepdb --failfast
(no errors)
./runtests.py --settings=test_postgres migrations --parallel=1 --noinput --keepdb --failfast

At this point you can observe and fix the next failure. With my patch applied, the next failure I see is test_regression_22823_unmigrated_fk_to_migrated_model (migrations.test_commands.MigrateTests). It's helpful to use pgAdmin to examine the state of the test database.

After you add a possible fix for thetest, run the tests without --keepdb to clear the bad state from the database. You can then repeat these steps from the top.
./runtests.py --settings=test_postgres migrations --parallel=1 --noinput

Note: See TracTickets for help on using tickets.
Back to Top