Hello forum,
I maintain one application based on Django. It controls Postgresql
database. Tests cover classes and methods. Everything had been working fine
and dandy.
I added another Postgresql database and created model classes for its
tables. No problems with access to two databases. I didn't create any tests
for new classes and methods.
When I try to launch tests psycopg2 won't find the test database it just
created moments ago.
I'd appreciate any help.
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/26762884-1f31-4c46-a57f-2ac7d5ad1991n%40googlegroups.com.
python app/manage.py test
nosetests --verbosity=1
Creating test database for alias 'default'...
Got an error creating the test database: database "test_db" already exists
Type 'yes' if you would like to try deleting the test database 'test_db', or
'no' to cancel: yes
Destroying old test database for alias 'default'...
Creating test database for alias 'otrs_ro'...
Traceback (most recent call last):
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
217, in ensure_connection
self.connect()
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
195, in connect
self.connection = self.get_new_connection(conn_params)
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/postgresql/base.py",
line 178, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.7/site-packages/psycopg2/__init__.py", line 130,
in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: ERROR: no such database: test_db
ERROR: no such database: test_db
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "app/manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File
"/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py",
line 381, in execute_from_command_line
utility.execute()
File
"/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py",
line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File
"/usr/local/lib/python3.7/site-packages/django/core/management/commands/test.py",
line 23, in run_from_argv
super().run_from_argv(argv)
File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py",
line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py",
line 364, in execute
output = self.handle(*args, **options)
File
"/usr/local/lib/python3.7/site-packages/django/core/management/commands/test.py",
line 53, in handle
failures = test_runner.run_tests(test_labels)
File "/usr/local/lib/python3.7/site-packages/django_nose/runner.py", line
308, in run_tests
result = self.run_suite(nose_argv)
File "/usr/local/lib/python3.7/site-packages/django_nose/runner.py", line
245, in run_suite
addplugins=plugins_to_add)
File "/usr/local/lib/python3.7/site-packages/nose/core.py", line 121, in
__init__
**extra_args)
File "/usr/local/lib/python3.7/unittest/main.py", line 101, in __init__
self.runTests()
File "/usr/local/lib/python3.7/site-packages/nose/core.py", line 207, in
runTests
result = self.testRunner.run(self.test)
File "/usr/local/lib/python3.7/site-packages/nose/core.py", line 50, in run
wrapper = self.config.plugins.prepareTest(test)
File "/usr/local/lib/python3.7/site-packages/nose/plugins/manager.py", line
99, in __call__
return self.call(*arg, **kw)
File "/usr/local/lib/python3.7/site-packages/nose/plugins/manager.py", line
167, in simple
result = meth(*arg, **kw)
File "/usr/local/lib/python3.7/site-packages/django_nose/plugin.py", line 82,
in prepareTest
self.old_names = self.runner.setup_databases()
File "/usr/local/lib/python3.7/site-packages/django_nose/runner.py", line
495, in setup_databases
return super(NoseTestSuiteRunner, self).setup_databases()
File "/usr/local/lib/python3.7/site-packages/django/test/runner.py", line
554, in setup_databases
self.parallel, **kwargs
File "/usr/local/lib/python3.7/site-packages/django/test/utils.py", line 174,
in setup_databases
serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/creation.py",
line 58, in create_test_db
self._create_test_db(verbosity, autoclobber, keepdb)
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/creation.py",
line 168, in _create_test_db
with self._nodb_connection.cursor() as cursor:
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
256, in cursor
return self._cursor()
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
233, in _cursor
self.ensure_connection()
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
217, in ensure_connection
self.connect()
File "/usr/local/lib/python3.7/site-packages/django/db/utils.py", line 89, in
__exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
217, in ensure_connection
self.connect()
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line
195, in connect
self.connection = self.get_new_connection(conn_params)
File
"/usr/local/lib/python3.7/site-packages/django/db/backends/postgresql/base.py",
line 178, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.7/site-packages/psycopg2/__init__.py", line 130,
in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: ERROR: no such database: test_db
ERROR: no such database: test_db# DATABASES
DATABASE_URI = os.environ.get('DATABASE_URI',
'postgresql://postgres:@localhost:5432/master_db')
DATABASES = {
'default': dj_database_url.parse(DATABASE_URI),
'sla': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'prod_db',
'USER': 'postgres',
'PASSWORD': 'pwd',
'HOST': 'localhost',
'PORT': '5432',
'TEST': {
'NAME': 'test_db2',
},
},
}
DATABASES['default']['DISABLE_SERVER_SIDE_CURSORS'] = True
DATABASES['default']['ATOMIC_REQUESTS'] = True
DATABASES['default']['TEST'] = {
'NAME': 'test_db1',
}