1

I have 2 databases mysql and mongo. On mysql people hold all data and on mongo just images. I have defined them like this

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '1*****',
        'PORT': '1*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        },
        'mongodb':  {
            'ENGINE': 'djongo',
            'NAME': '*****',
            'USER': '*****',
            'PASSWORD': '*****',
            'HOST': '*****',
            'PORT': '*****',
            'TEST': {
                'NAME': '*****',
                # 'CHARSET': 'utf8',
            },
        }

    }
}

Now I want to run inspectdb on mongodb and I het this error

manage.py inspectdb --database mongodb
django.db.utils.ConnectionDoesNotExist: The connection mongodb doesn't exist

The host password port is ok

kakakakakakakk
  • 467
  • 10
  • 31

1 Answers1

1

You wrote mongodb at the same level as 'TEST', etc. This thus means that you only defined one database, and that mongodb is a key of that dictionary.

You thus should specify the mongodb database at the same level like the default database:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '1*****',
        'PORT': '1*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        }
    },
    'mongodb':  {
        'ENGINE': 'djongo',
        'NAME': '*****',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '*****',
        'PORT': '*****',
        'TEST': {
            'NAME': '*****',
            # 'CHARSET': 'utf8',
        },
    }
}
Willem Van Onsem
  • 443,496
  • 30
  • 428
  • 555