Opened 9 years ago
Last modified 8 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: | dev |
Severity: | Normal | Keywords: | |
Cc: | Ülgen Sarıkavak | 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 )
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)
Change History (5)
comment:1 by , 9 years ago
Description: | modified (diff) |
---|---|
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 9 years ago
Description: | modified (diff) |
---|
by , 8 years ago
Attachment: | 25540-init.diff added |
---|
comment:3 by , 8 years ago
Component: | Testing framework → Migrations |
---|
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
comment:4 by , 8 months ago
Cc: | added |
---|
This also happens on 1.8.