Fixed #6007: Added DEFAULT_TABLESPACE and DEFAULT_INDEX_TABLESPACE

options to global_settings.py


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6801 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Ian Kelly 2007-12-01 19:23:49 +00:00
parent c5a4541f10
commit bbc3a95557
6 changed files with 31 additions and 4 deletions

View File

@ -253,6 +253,10 @@ TRANSACTIONS_MANAGED = False
from django import get_version
URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_version()
# The tablespaces to use for each model when not specified otherwise.
DEFAULT_TABLESPACE = ''
DEFAULT_INDEX_TABLESPACE = ''
##############
# MIDDLEWARE #
##############

View File

@ -104,7 +104,7 @@ class Field(object):
self.radio_admin = radio_admin
self.help_text = help_text
self.db_column = db_column
self.db_tablespace = db_tablespace
self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
# Set db_index to True if the field has a relationship and doesn't explicitly set db_index.
self.db_index = db_index

View File

@ -29,7 +29,7 @@ class Options(object):
self.object_name, self.app_label = None, None
self.get_latest_by = None
self.order_with_respect_to = None
self.db_tablespace = None
self.db_tablespace = settings.DEFAULT_TABLESPACE
self.admin = None
self.meta = meta
self.pk = None

View File

@ -258,6 +258,12 @@ many-to-many table would be stored in the ``indexes`` tablespace. The ``data``
field would also generate an index, but no tablespace for it is specified, so
it would be stored in the model tablespace ``tables`` by default.
The settings.py file supports two additional options to specify
default values for the db_tablespace options. This is useful for
setting a tablespace for the Django internal apps and other
contributed applications. These options are ``DEFAULT_TABLESPACE``
and ``DEFAULT_INDEX_TABLESPACE``.
Django does not create the tablespaces for you. Please refer to `Oracle's
documentation`_ for details on creating and managing tablespaces.

View File

@ -618,8 +618,9 @@ statement for this field.
**New in Django development version**
The name of the database tablespace to use for this field's index, if
indeed this field is indexed. The default is the ``db_tablespace`` of
the model, if any. If the backend doesn't support tablespaces, this
indeed this field is indexed. The default is the project's
``DEFAULT_INDEX_TABLESPACE`` setting, if set, or the ``db_tablespace``
of the model, if any. If the backend doesn't support tablespaces, this
option is ignored.
``default``

View File

@ -404,6 +404,22 @@ Default: ``'webmaster@localhost'``
Default e-mail address to use for various automated correspondence from the
site manager(s).
DEFAULT_TABLESPACE
------------------
Default: ``''`` (Empty string)
Default tablespace to use for models that do not specify one, if the
backend supports it.
DEFAULT_INDEX_TABLESPACE
------------------------
Default: ``''`` (Empty string)
Default tablespace to use for indexes on fields that do not specify
one, if the backend supports it.
DISALLOWED_USER_AGENTS
----------------------