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 django-users+unsubscr...@googlegroups.com.
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',
}