diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2018-11-06 22:13:57 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-11-13 18:22:41 -0500 |
| commit | ff8020ed49571b0fece67d10d7398d5f57cbaa74 (patch) | |
| tree | ac0afbd8eb91db6cb91c442e1ae35f81a25daf2b /django | |
| parent | 9886dffdf45873a5ce427eded9277f37d4a30ef1 (diff) | |
Fixed #29788 -- Added support for Oracle Managed File (OMF) tablespaces.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/backends/oracle/creation.py | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/django/db/backends/oracle/creation.py b/django/db/backends/oracle/creation.py index 109b97b3f2..98ea186dcb 100644 --- a/django/db/backends/oracle/creation.py +++ b/django/db/backends/oracle/creation.py @@ -187,16 +187,32 @@ class DatabaseCreation(BaseDatabaseCreation): def _execute_test_db_creation(self, cursor, parameters, verbosity, keepdb=False): if verbosity >= 2: self.log('_create_test_db(): dbname = %s' % parameters['user']) - statements = [ - """CREATE TABLESPACE %(tblspace)s - DATAFILE '%(datafile)s' SIZE %(size)s - REUSE AUTOEXTEND ON NEXT %(extsize)s MAXSIZE %(maxsize)s - """, - """CREATE TEMPORARY TABLESPACE %(tblspace_temp)s - TEMPFILE '%(datafile_tmp)s' SIZE %(size_tmp)s - REUSE AUTOEXTEND ON NEXT %(extsize_tmp)s MAXSIZE %(maxsize_tmp)s - """, - ] + if self._test_database_oracle_managed_files(): + statements = [ + """ + CREATE TABLESPACE %(tblspace)s + DATAFILE SIZE %(size)s + AUTOEXTEND ON NEXT %(extsize)s MAXSIZE %(maxsize)s + """, + """ + CREATE TEMPORARY TABLESPACE %(tblspace_temp)s + TEMPFILE SIZE %(size_tmp)s + AUTOEXTEND ON NEXT %(extsize_tmp)s MAXSIZE %(maxsize_tmp)s + """, + ] + else: + statements = [ + """ + CREATE TABLESPACE %(tblspace)s + DATAFILE '%(datafile)s' SIZE %(size)s REUSE + AUTOEXTEND ON NEXT %(extsize)s MAXSIZE %(maxsize)s + """, + """ + CREATE TEMPORARY TABLESPACE %(tblspace_temp)s + TEMPFILE '%(datafile_tmp)s' SIZE %(size_tmp)s REUSE + AUTOEXTEND ON NEXT %(extsize_tmp)s MAXSIZE %(maxsize_tmp)s + """, + ] # Ignore "tablespace already exists" error when keepdb is on. acceptable_ora_err = 'ORA-01543' if keepdb else None self._execute_allow_fail_statements(cursor, statements, parameters, verbosity, acceptable_ora_err) @@ -359,6 +375,9 @@ class DatabaseCreation(BaseDatabaseCreation): def _test_database_tblspace_tmp_extsize(self): return self._test_settings_get('DATAFILE_TMP_EXTSIZE', default='25M') + def _test_database_oracle_managed_files(self): + return self._test_settings_get('ORACLE_MANAGED_FILES', default=False) + def _get_test_db_name(self): """ Return the 'production' DB name to get the test DB creation machinery |
