Commit c2657d89 authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Fixed #14921 -- Tweak changes made in r14861 for the Oracle backend so the...

Fixed #14921 -- Tweak changes made in r14861 for the Oracle backend so the test runner can actually create the test DB. Thanks Karen for the report.

In Oracle, the name of a DB as handled by Django hasn't a counterpart anyway. So use the 'production DB name' as it was done before.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14993 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent df6ad35c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -374,7 +374,7 @@ class BaseDatabaseCreation(object):

    def _get_test_db_name(self):
        """
        Internal implementation - returns the name of the test DB that wll be
        Internal implementation - returns the name of the test DB that will be
        created. Only useful when called from create_test_db() and
        _create_test_db() and when no external munging is done with the 'NAME'
        or 'TEST_NAME' settings.
+10 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ class DatabaseCreation(BaseDatabaseCreation):
        super(DatabaseCreation, self).__init__(connection)

    def _create_test_db(self, verbosity=1, autoclobber=False):
        TEST_NAME = self._get_test_db_name()
        TEST_NAME = self._test_database_name()
        TEST_USER = self._test_database_user()
        TEST_PASSWD = self._test_database_passwd()
        TEST_TBLSPACE = self._test_database_tblspace()
@@ -201,7 +201,7 @@ class DatabaseCreation(BaseDatabaseCreation):
                sys.stderr.write("Failed (%s)\n" % (err))
                raise

    def _get_test_db_name(self):
    def _test_database_name(self):
        name = TEST_DATABASE_PREFIX + self.connection.settings_dict['NAME']
        try:
            if self.connection.settings_dict['TEST_NAME']:
@@ -251,3 +251,11 @@ class DatabaseCreation(BaseDatabaseCreation):
        except KeyError:
            pass
        return name

    def _get_test_db_name(self):
        """
        We need to return the 'production' DB name to get the test DB creation
        machinery to work. This isn't a great deal in this case because DB
        names as handled by Django haven't real counterparts in Oracle.
        """
        return self.connection.settings_dict['NAME']