Opened 11 years ago
Last modified 11 years ago
#24298 closed Bug
post-migrate handlers fail when DATABASES['default'] = {} — at Initial Version
| Reported by: | Thomas Recouvreux | Owned by: | nobody |
|---|---|---|---|
| Component: | Migrations | Version: | 1.7 |
| Severity: | Release blocker | Keywords: | migrate post_migrate |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | yes | UI/UX: | no |
Description
On Django 1.7.4 the management command migrate --database=xxx fails when DATABASES['default'] = {} with django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details..
On Django 1.7.3 it works fine.
To reproduct the problem:
- Create a new project
- Edit the settings.py this way:
DATABASES = {
'default': {},
'mysite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db_mysite.sqlite3'),
}
}
- Run
python manage.py migrate --database=mysite
Problem:
It seems Django tries to access the default connection. I found django.db.migrations.loader.is_latest_migration_applied uses the default connection.
I am attaching an output log of the command.